デジタル証明書の仕組み

X509証明書の形式

広く使われている証明書の形式はX509です。 X509はISOで決められている国際規約で以下の規格を決めています.

  • 証明書
  • 証明書要求(CSR: Certificate Signing Request)
  • 暗号化鍵
  • 証明書破棄リスト(CRL:Certificate Revocation List)

この規格がインターネットのPKIで広く使われているのです. X509の証明書には、証明される機関あるいは人の情報とその公開鍵、 またCAのデジタル署名(証明される機関や公開鍵などをCAの秘密鍵で 暗号化したもの)が収められています.

X509の証明書の詳細はこちら

認証を行いたい場合は、このCAのデジタル署名の部分をCAの公開鍵で 解読して、証明書のデータの内容と一致することを確認すれば、 この証明書のデータを信頼してよいことが確認できます。

PEM (Privacy Enhanced Mail)形式

X509を定義しているRFC2459ではASN.1という文法表記で記述されているだけです。 具体的にどのようなバイナリ文字列で表すのかなどについては記述がありません。 これをバイナリ符号化する方法にはBER(Basic Encoding Rule)とか DER(Distinguished Encoding Rules)とかPER(Packed Encoding Rules) があります。

PEMとはメールを暗号化するために規定されたものです。 PEMにおいては暗号化情報をメールで送るために これをテキスト形式で表現します。この暗号化情報のテキスト形式の ことをPEM形式と呼びます.多くの場合、DER形式のX509証明書をこの PEM形式に変換したものが用いられるようです.

証明書、CSR、および暗号化鍵のいずれも、 base64でエンコードにより作られるこの形式で保存することができます。 このテキスト形式のファイルはHTTPサーバなどでも、 この形式のファイルを使う場合が多いようです。

PKCS#12

RSA社の規格の一つであるPKCS#12は、 秘密鍵、公開鍵およびデジタル証明書を送る際に用いる形式です。 この形式のファイルにはこれらすべてが入っています. これは主にクライアント認証のための情報をCAからクライアントに送るのに 用いられます。
 

Copyright (C)2001 Takeshi FUJIKI