記事一覧

電子署名の証明書の形式

仕事でよく使う電子署名の証明書には、形式が 2系統あります。
テキストファイルだけれども意味不明なタイプと、
バイナリファイルだけどところどころ ASCIIで、Subjectなど概要が判るタイプ。
前者が PEM形式、後者が DER形式。BER形式は見てません。

今回の電子証明書は X.509という形式で値が設定されます。X.509は、証明書が持つ値の種類(組織名とか、有効期限とか)と、それぞれの値の形式(文字列とか、整数とか)を定義しています。
X.509は ASN.1という書式で定義されています。つまりASN.1はメタ言語というやつです。ASN.1は、データの集合の定義方法であると同時に、それをバイト列で表すときの方法も定義してあります。文字列ならこのバイト順、32ビット値ならこのバイト順、といった感じ。
で、X.509にしたがって値が設定された証明書は、ASN.1が定める方法でバイト列になります。これが BERなのですが、多くの場合は BERのサブセットたる DERでバイト列に変換されます。
バイト列は、元の組織名とか日付の文字列が連結された状態になるので、ところどころ ASCII文字が見られます。しかし、制御データもあるので、ASCIIでないバイトも混じります。これが、バイナリだけれどところどころ ASCIIなタイプ。
で、これをメールとかで送るために、BASE64変換したものが PEM。これが、テキストだけれども意味不明なタイプ。

トラックバック

この記事のトラックバックURL
https://blog.alexcat.com/diary-tb.cgi/3

トラックバック一覧