👀

デジタル証明書の拡張子の違い

2024/02/07に公開

.der.pem

どちらもASN.1というデータ構造で証明書、鍵を定義しているファイル。
定義した証明書、鍵をDERでバイナリ化したものが DER形式(.der) となる。
DER形式をBASE64で人間でも分かるようにテキスト化したものが PEM形式(.pem)
PEM形式のファイルをメモ帳などのテキストエディタで開く以下のような内容を確認することができる。
BEGIN CERTIFICATEEND 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