SSL/TLSサーバーを構築・運用する上で最も重要なのがサーバー証明書やクライアント証明書などのディジタル証明書の管理です。今回からは、そのディジタル証明書についてさらに踏み込んで見ていきます。
まずは、ディジタル証明書の構造について復習します。ディジタル証明書は下図のように「署名前証明書」「ディジタル署名のアルゴリズム」「ディジタル署名」で構成されます。

署名前証明書がサーバーやサーバーの所有者の情報です。サーバーのURLを表すコモンネームや有効期限、公開鍵などが含まれます。ディジタル署名のアルゴリズムに一方向ハッシュ関数が含まれています。ディジタル署名は、署名前証明書をハッシュ化してできたハッシュ値(メッセージダイジェストとも言う)を、認証局の秘密鍵で暗号化したものです。
ディジタル証明書の内容
多くのブラウザでは、HTTPSのプロトコルで提供されているWebサイトを表示しアドレスバーの隣にある鍵アイコンを押下することでサーバー証明書を参照することができます。サーバー証明書を参照することで、そのWebサイトが誰によって運営され、誰に認められているのかを知ることができます。そして、それを見た人は、本当に自分がアクセスしたいWebサイトかを判断する材料として使用することができます。
Internet Explorerで証明書を表示する場合は、SSL/TLS化されているサイトにアクセスし、アドレスバーを確認します。Internet Explorerにも、鍵アイコンが示されています。

そのアイコンをクリックし、「証明書の表示」をクリックします。

すると、「証明書」ダイアログが表示されます。

項目名 | 説明 |
---|---|
この証明書の目的 | 証明書を使用できるアプリケーション、署名、暗号化、認証などの概要情報 |
発行先 | 証明書の受信者の名前。受信者には、エンドユーザー、コンピューター、または証明機関(CA)などのエンティティが含まれる |
発行者 | 証明書を発行したCAの名前 |
有効期間 | 証明書が有効になる日付と、有効期限が切れる日付 |
「発行者のステートメント」ボタンを押下すると、証明書に関する追加の情報や、または追加の情報を入手できるWebページが開きます。

項目名 | 説明 |
---|---|
バージョン | X.509 のバージョン番号 |
シリアル番号 | 発行者が証明書ごとに一意となるよう割り当てる値 |
署名アルゴリズム | CAが証明書に対するディジタル署名に使用するハッシュアルゴリズム |
発行者 | 証明書を発行したCAに関する情報 |
有効期限の開始・終了 | 証明書の有効期限。終了日を超えると無効となる |
サブジェクト | 証明書作成時に指定する証明書の発行先の情報 |
公開キー | 証明書に関連付けられているCAの公開鍵の種類と長さ |
拇印 | フィンガープリントとも言う。この値は証明書に設定される値ではなく、ここではブラウザが証明書を基にSHA-1を使用して計算した値 |

「証明のパス] タブには、選択した証明書から証明書を発行する証明機関(CA)までのパスを表示することができます。
ルート証明書とエンドエンティティ証明書の間に証明書がある場合(証明書のチェーンが3階層以上で構成される場合)には、それを中間証明書と呼びます。証明書の用途の中で最も使われているであろうサーバー証明書は一般に3階層で構成されていることが多いです。
「詳細」タブの項目であるサブジェクトは、証明書作成時に指定する証明書の発行先の情報です。上記例では、Yahooの組織情報が表示されています。
項目 | 説明 |
---|---|
一般名称(CN) | Common Name。サーバー証明書の場合、FQDNと一致する |
組織名(O) | Organization。証明書作成時に指定する組織名。通常はサイトを運営する企業名とする |
部門名(OU) | Organization Unit name。サイトを運営する組織の部門名 |
市町村名(L) | サイトを運営する組織の所在地(市町村名) |
都道府県名(S) | サイトを運営する組織の所在地(都道府県名) |
国別コード(C) | 国コード |
証明書のファイル形式
証明書の構造は標準化されており、その代表的なものがX.509です。X.509は証明書の論理的構造を規定しており、実際はX.509形式をDER(Distinguished Encoding Rules)形式でエンコードしたバイナリファイル(拡張子はder)として保存したり、同様にBASE64形式でエンコードしたテキストファイル(拡張子はpem)として保存したりします。PEM形式で保存されたファイルをテキスト形式で開くと、中身は下記のようになっています。
-----BEGIN CERTIFICATE----- MIICPTCCAaYCEQDknv3zOugOz6URPhmkJAIyMA0GCSqGSIb3DQEBAgUAMF8xCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 NjAxMjkwMDAwMDBaFw0wNDAxMDcyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMyBQdWJsaWMgUHJp bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEAyVxZnvIbigEUtBDfBEDb41evakVAj4QMC9Ez2dkRz+4CWB8l9yqo RAWq7AMfeH+ek7maAKojfdashaJjRcdyJ8z0TMZ1cdI5709C8HXfCpDGjiBvmA/4 rCNfcCk2pMmG57GaIMtTpYXnPb59mv4kRTPcdhXtD6JxZExlLoFoRacCAwEAATAN BgkqhkiG9w0BAQIFAAOBgQBhcOwvP579K+ZoVCGwZ3kIDCCWMYoNer62Jt95LCJp STbjl3diYaIy13pUITa6Ask05yXaRDWw0lyAXbOU+Pms7qRgdSoflUkjsUp89LNH ciFbfperVKxi513srpvSybIk+4Kt6WcVS7qqpvCXoPawl1cAyAw8CaCCBLpB2veZ pA== -----END CERTIFICATE-----
Windowsを使用している場合、拡張子 pemのファイルは通常アプリケーションとの関連付けがされていないため人が理解できる形式で開くことはできませんが、certificate(証明書)の略である「cer」または「crt」に拡張子を変更すると、証明書ビューアに関連付けてダブルクリックで開くことができるようになります。