PEM証明書・鍵
証明書・鍵PEMは証明書だけでなく秘密鍵、公開鍵、署名要求等にも使われるテキスト表現です。BEGIN行の種類を確認してから適切なツールを選びます。文字で読めることは暗号化を意味せず、PRIVATE KEYを含むファイルを公開してはいけません。
- 主な用途
- 証明書・鍵・署名要求等のテキスト表現
- 中身の種類
- テキスト
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- 証明書として読めない:鍵やCSR、複数ブロックの束かを確認します。
- パスワードを求められる:暗号化された秘密鍵等か確認し、正規の管理者へ相談します。
- サーバーが受け付けない:必要な証明書・鍵・中間証明書と順序を確認します。
- BEGIN/ENDが合わない:コピー時の欠落と余分な行を確認します。
- 最初の証明書だけ読まれる:ツールの複数ブロック対応を確認します。
- 変換後に秘密鍵が無保護:出力の暗号化と権限を確認します。
確認済みPEM構造 → DER等
- 証明書か鍵かを特定し、対応するツールで必要な出力形式を選びます。
- 変換後の公開情報と鍵の保護方式を確認し、元を安全に保管します。
- 変換後も秘密鍵を含むかと証明書の対象・期限が同じか確認します。
証明書から秘密鍵は生成できません。鍵の変換で暗号化を外さないようにし、拡張子だけで内容を判断しません。
文字形式でも秘密情報になり得る
Base64は暗号化の意味ではありません。PEMはラベルと内容を確認し、鍵のファイルをログや公開変換サービスへ送らないよう扱います。
確認例:CERTIFICATEとPRIVATE KEYが同じファイルにあれば、全体を公開証明書として共有しません。必要な部分と保護を確認します。
この手順の根拠:IETF / RFC Editor · RFC 7468 — Textual Encodings / OpenSSL Project · openssl-x509 / OpenSSL Project · openssl-pkey / OpenSSL Project · openssl-req
配置前の確認項目
証明書の対象名、期間とチェーン、鍵との対応、読取権限を確認します。形式の変換で信頼や期限が更新されるわけではありません。
この手順の根拠:IETF / RFC Editor · RFC 7468 — Textual Encodings / OpenSSL Project · openssl-x509 / OpenSSL Project · openssl-pkey / OpenSSL Project · openssl-req
関連形式との違い
| 形式・方法 | 役割 | 確認する点 |
|---|---|---|
| PEM | 文字による符号化 | ラベルと複数ブロック |
| DER | バイナリー符号化 | 中身の型 |
| P12 / PFX | 証明書等の容器 | 秘密鍵の有無 |
取り扱いと安全性
秘密鍵を含むかを最初に確認し、認証情報としてアクセスを制限します。公開証明書の表示と秘密鍵の取り出しを混同しません。
よくある質問
PEMは必ず証明書?
鍵やCSR等も入ります。
Base64だから暗号化?
文字表現と暗号化は別です。
証明書から鍵を復元できる?
対応する秘密鍵は別に管理します。
BEGIN PRIVATE KEYを含むPEMを共有してよい?
秘密鍵として扱い、公開しません。必要なら証明書部分だけを対応ツールで分離します。
証明書が複数あれば全て同じ役割?
サーバー証明書や中間証明書等が混在します。対象とチェーンを区別します。
形式の基本情報:正式名称・MIME type・管理団体
- 名称
- Textual encoding for certificates, keys and related structures
- 管理・仕様
- IETF / producing cryptographic tools
- MIME type
- 作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。
公式・一次情報
- 標準仕様RFC 7468 — Textual Encodings
証明書・鍵・署名要求等のテキスト表現を定義します。
IETF / RFC Editor · リンク確認: - プロジェクト公式openssl-x509
証明書の内容表示、PEM・DERの変換の資料です。
OpenSSL Project · リンク確認: - プロジェクト公式openssl-pkey
公開鍵・秘密鍵の処理と形式指定を説明します。
OpenSSL Project · リンク確認: - プロジェクト公式openssl-req
署名要求の内容確認と自己署名証明書との違いです。
OpenSSL Project · リンク確認: