ファイルを選択
  1. base64hub
  2. 鍵とハッシュ
  3. DER → PEM

.cer・.der ファイル用 DER から PEM への変換ツール

バイナリの .cer や .der ファイルをドロップするか、JWK や SAML メタデータの Base64 DER を貼り付けると、正しい -----BEGIN …----- ラベルの付いた PEM ブロックが得られます。

無料 登録不要・制限なし ローカル アップロードなし ラベル ASN.1 の構造から判定 更新日 2026/10/27
入力 –DER –出力 –

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

DER を PEM に変換する手順

  1. .der、.cer、.crt ファイルをボックスにドロップします。バイナリの入力はバイト列として読み取ります。ファイルの代わりに、1 行の Base64 DER や、30 82 01 b7 … のような 16進数を貼り付けることもできます。
  2. 変換先 は PEM(64 桁) のままにします。
  3. PEM ラベル は 自動検出 のままにします。変換ツールが ASN.1 を読み、CERTIFICATE、CERTIFICATE REQUEST、PUBLIC KEY、PRIVATE KEY などを書き込みます。ツールが特定のラベルを要求する場合にだけ、自分で選んでください。
  4. 必要なら Windows の改行コード(CRLF) にチェックを入れ、出力をコピー か .pem をダウンロード を押します。

変換したものを確認するには 詳細表示 に切り替えます。サブジェクト、有効期限、フィンガープリントがカードに表示されます。

DER ファイルやヘッダーのない Base64 の出どころ

出どころ得られるもの
Windows の証明書エクスポート「DER encoded binary X.509 (.CER)」バイナリの DER
-rfc を付けない Java の keytool -exportcertバイナリの DER
証明書内の CA 発行者の URL(AIA 拡張)たいていは DER の .cer
JWK や JWKS の x5c証明書ごとに 1 行の Base64 DER
SAML メタデータの <ds:X509Certificate>Base64 DER、改行を含むこともある
パケットキャプチャ、HSM やスマートカードのツール16進ダンプ

どれも同じ PEM になります。443 バイトの DER 証明書は 656 バイトの PEM になります。10 行に分かれた 592 文字の Base64 に、BEGIN 行と END 行が加わります。

PEM 形式の概要

RFC 7468 にはパーサーが期待する形式が書かれており、出力はそれに従っています。

-----BEGIN CERTIFICATE-----
MIIBtzCCAV2gAwIBAgIUfX6gOa1S96OttEsj3WbuIdu0cE0wCgYIKoZIzj0EAwIw
...64 characters per line, the last line shorter...
-----END CERTIFICATE-----
  • BEGIN と END のラベルは完全に一致していなければなりません。
  • 本文の行は、= パディング付きの標準の Base64 で 64 文字です。URL セーフなアルファベット(- と _)やパディングなしの入力も受け付け、標準の形式で書き出します。
  • 1 つのファイルに複数の証明書を入れるには、ブロックをつなげるだけです。fullchain.pem や CA バンドルはこうして作られています。作るときは、各 DER 証明書を変換し、リーフを先頭にしてブロックを順に貼り付けてください。

OpenSSL、Python、シェルで DER を PEM にする

openssl x509 -inform der -in cert.cer -out cert.pem
openssl pkey -inform der -in key.der -out key.pem
openssl req  -inform der -in app.der -out app.csr

古い OpenSSL のビルドでは、-inform der を付け忘れると unable to load certificate で失敗します。最近のものは自分で DER を判定します。x5c のエントリのような 1 行の Base64 文字列なら次のようにします。

{ echo '-----BEGIN CERTIFICATE-----'; echo "$B64" | fold -w 64; echo '-----END CERTIFICATE-----'; } > cert.pem

Python には組み込みの関数があります。ssl.DER_cert_to_PEM_cert(open("cert.der", "rb").read()) です。ほかのレシピは OpenSSL と Python のページにあります。

よくある問題

  • 「PEM でも有効な Base64 DER でもありません」 や 「バイト … で DER/ASN.1 として不正です」:Base64 が壊れているか、途中で切れているか、DER ではありません。.p12 や .pfx ファイルも DER ですが、中身が暗号化されているので、代わりに openssl pkcs12 で変換してください。
  • ラベルが DATA になる:構造が証明書、鍵、リクエストとして認識されませんでした。バイト列は変換されているので、中身がわかっているならラベルを自分で設定してください。
  • ファイルがもともと PEM だった:拡張子が .cer でも中身が PEM のファイルがあります。その場合、出力は折り返し直しただけの同じ証明書で、変換の必要はありませんでした。中身は 証明書デコーダー で確認できます。
  • 逆方向が必要:PEM から DER へ で、.der のダウンロード、1 行の Base64、16進数が得られます。

よくある質問

.cer ファイルが DER か PEM かはどう見分けますか?

テキストエディターで開いてください。-----BEGIN CERTIFICATE----- という読めるテキストなら PEM、読めないバイナリなら DER で、その最初のバイトは 0x30 です。Linux や macOS の file コマンドは、それぞれ PEM certificate、Certificate, Version=3 と表示します。

SAML メタデータの X509Certificate の値を PEM ファイルにするには?

<ds:X509Certificate> の中の Base64 テキストをボックスに貼り付けます。これはヘッダーのない DER なので、変換ツールが -----BEGIN CERTIFICATE----- を付け、64 文字で折り返し、ブロックを閉じます。

DER 形式の秘密鍵をここで PEM に変換できますか?

はい。PKCS#8、PKCS#1 の RSA 鍵、SEC1 の EC 鍵を判定し、PRIVATE KEY や EC PRIVATE KEY など対応するラベルを付けます。変換はローカルで行い、鍵の値はページに表示しません。

Windows の改行コード(CRLF)にチェックを入れるべきなのはどんなときですか?

Windows のツールや厳格なパーサーがファイルを拒否する場合だけです。ほとんどのソフトウェアはどちらも受け付け、RFC 7468 も PEM でどちらの改行コードも認めています。