共通鍵暗号(DES, AES, ...)や公開鍵暗号(DSA, RSA, ECDSA)で暗号化されたデータのフォーマットに関するまとめです。
名称 | 内容 |
PEM | BASE64でエンコードしたテキスト |
DER | バイナリ |
名称 | 用途 | 拡張子 |
X.509証明書 | PKIで使用する一般的な公開鍵証明書のフォーマット | cer, crt, csr, pem, der |
秘密鍵 | 共有秘密鍵や公開鍵と対になる秘密鍵, 証明書の署名に使用する秘密鍵などのフォーマット。パスフレーズで保護することが可能 | key, pvk, pem, der |
PKCS#12 | 公開鍵証明書と秘密鍵をセットで扱うフォーマット。CAの公開鍵証明書も含められる。パスフレーズで保護することが可能 | pfx, p12 |
拡張子をエンコードタイプ(pem|der)にしている書き方が多いので、初めのうちは混乱しました。
拡張子は種類を表したほうが分かりやすいと思うので、このサイトではその方針を取っています。
PRM-DER相互変換や、X.509証明書, PKCS#12の作成などは、以下で確認できます。