X.509フォーマットの証明書は一般的なSSLサーバ証明書やクライアント証明書に使われている形式です。
証明書というと、pem形式という人も多いのですが、公開鍵証明書のフォーマットと言えば、X.509ですね。
一体、このX.509形式とはどのようなものなのでしょうか。
X.509とは?証明書で使われている形式(フォーマット)
目次
SSLサーバ証明書の仕様を見ているとX.509(エックスポイントゴーマルキュー)という言葉が出てくることがあります。
これはいったい何なのでしょうか。
X.509とは?証明書で使われている形式(フォーマット)
X.509という言葉は一般的にはIETFのPKI(X.509)と証明書失効リストプロファイル(CRL)のことを表しているのですが、何のことだかよくわかりませんね。
現在、一般的なSSLサーバ証明書はこの規格を使って発行されているので、SSLサーバ証明書の仕様を示すと言っても過言ではないと思います。
ちなみに証明書というとSSLサーバ証明書ばかりが話の的になりますが、クライアント証明書も同じです。
X.509v3形式の証明書構成を見てみる
X.509 v3 SSLサーバ証明書の構造は以下のようになっています。
1、バージョン情報
2、シリアル番号
3、署名アルゴリズム
4、発行者情報
5、有効期間の開始と有効期間の終了
6、サブジェクト(発行先の情報)
7、公開鍵のアルゴリズム
8、公開鍵
9、署名アルゴリズム
10、拇印
1から8の情報を、9のアルゴリズムで算出した値が10の拇印になります。
良く誤解されるのが、1のバージョンですね。
SSLにもバージョンというのがあって、ここを見てSSLの3.0と言う人もいますが、実際にはSSLのバージョンではなく、X.509のバージョン情報です。
ちなみに、、、SSLサーバ証明書には、SSLとかTLSのバージョン情報は含まれてません。
それはまた別の機会に。
X.509の拡張子は?pem?
認証局から届いた証明書を見ると
—–BEGIN CERTIFICATE—–
文字列
—–END CERTIFICATE—–
という状態で見えます。
これはX.509形式の証明書をBase64でエンコードしたテキスト形式なんですが、まるで暗号のようで、これを見たところで何の証明書だか全く分かりませんね。
そこで、この文字列(ヘッダー、フッターを含む)をテキストエディタに貼り付けて、保存して確認します。
X.509形式の証明書は拡張子を
- .cer
- .crt
- .der
などで保存すると、Windows OS上で証明書のアイコンとして表示され、ダブルクリックで証明書の情報が確認できるようになります。
これは、Windows OSがこの拡張子を証明書として扱うよう関連付けされているからですね。
Windows 7のコントロールパネルの
「ファイルの種類またはプロトコルのプログラムへの関連付け」
で見てみると、セキュリティ証明書として認識されていることが確認できます。
Apacheなどのサーバにインストールする際はこの形式をインストールすることになります。
なお、このX.509の証明書がPEM形式と表現されることがあるのですが、そもそもPEMと
Privacy Enhanced Mail
のことで、暗号化されたメールのことを指すんですよね。
なので、X.509形式の証明書をPEM形式と表現するのはちょっと違うのではないかと。
管理人もそのあたりはあまり詳しくありませんが、でもPEM形式という表現で通じるのであればよいのではないかとも思います。
コメント