👀
デジタル証明書の拡張子の違い
.der
と.pem
どちらもASN.1というデータ構造で証明書、鍵を定義しているファイル。
定義した証明書、鍵をDER
でバイナリ化したものが DER形式(.der) となる。
DER形式をBASE64
で人間でも分かるようにテキスト化したものが PEM形式(.pem)。
PEM形式のファイルをメモ帳などのテキストエディタで開く以下のような内容を確認することができる。
BEGIN CERTIFICATE
とEND CERTIFICATE
で囲まれた文字列が実際の内容
ここに書いている内容はランダムに入力した内容です
-----BEGIN CERTIFICATE-----
ABCDabcd0123
~(略)~
XYZxyz987=
-----END CERTIFICATE-----
.crt
と .cer
証明書を定義したファイル。
ファイル形式としては、DER形式 またはPEM形式。
(Windowsを使っていると.cer
を目にする機会が多いと思う。)
.key
鍵のみを定義したファイル。
.crt
と .cer
と同様にDER形式 またはPEM形式。
.der
と.pem
の違い
.der
と.pem
はファイルは問わずにエンコーディングの種類を表している。
.crt
と .cer
はエンコーディングは関係なく、そのファイルが 証明書か?、 鍵か? を表している。
'.pfx'と'p12'
証明書と鍵を定義し、パスワードを使って保護&暗号化した PKCS#12形式 のファイル。
内容を確認するためにはパスワードの入力が必要になる。
バイナリデータとbase64の補足
バイナリデータ
テキストデータ以外のデータ(テキストエディタで開くと文字化けする)。
文字データ、画像データ、動画データなどなど・・・。
人間には読むことができないが、コンピュータは読むことができる。
中身がバイナリデータのファイル = バイナリファイル。
base64
64進数を意味する。
すべてのデータをアルファベット(a~z,A~Z)と数字(0~9)、記号(+,/)の64文字と「=」の組み合わせに変換する変換ルール。
Discussion