- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- セキュリティ/OpenSSL/クライアント証明書の失効 へ行く。
- 1 (2013-03-06 (水) 00:32:18)
- 2 (2013-03-06 (水) 01:29:56)
- 3 (2013-05-29 (水) 18:55:47)
- 4 (2017-02-14 (火) 08:58:34)
クライアント証明書の失効
前提
- ここでは認証局の設置場所(CATOP)を/var/pki/myCAとする。
- CAスクリプトを使い証明書発行作業をしたこととする。
証明書の状態を確認する
cat ./myCA/index.txt
V: 有効(Valid) R: 失効(Revoked)
- 先頭がVで始まる行が有効な証明書のレコード。
- レコード中にシリアルナンバーが記述されており、そのレコードに対応する証明書がmyCA/newcerts/シリアルナンバー.pemとして存在するはずなので、確認する。
クライント証明書を失効させる
CRLシリアルナンバーファイルの作成
echo 000 > ./myCA/crlnumber
- 最初は存在しないはずなので作成する。
- 以後、失効実行する度にファイルが更新されて001、002とインクリメントされていく。
失効の実行
openssl ca -config ./openssl.cnf -gencrl -revoke myCA/newcerts/ABC123XX1.pem
- myCA/newcerts/ABC123XX1.pemは失効させる証明書。
証明書失効リスト(CRL)ファイルを作成
openssl ca -config ./openssl.cnf -gencrl -out ./myCA/crl/crl.pem
- -outオプションで指定する証明書失効リスト(CRL)ファイルを作成する。
- このファイルをApacheなどに設定する。
CRLの有効期限
- CRLは有効期限があり、期限内に更新しないとApacheで処理するすべての証明書(失効していない証明書も含む)が無効になる。
- したがって、新たに失効する証明書がなくてもバッチ処理などで定期的にCRLを更新する必要がある。
- 有効期限はデフォルトでは30日などだが、面倒であれば3650日など長めにしておく。
ApacheでCRLを設定する
vi httpd.conf
SSLCARevocationFile /var/pki/myCA/crl/crl.pem
CRLの内容の確認
openssl crl -in crl.pem -text
上のコマンドを実行すると以下のように失効した証明書のシリアルナンバーを確認出来る。
Revoked Certificates: Serial Number: ABC1234XYZ56789 Revocation Date: Apr 26 13:45:28 2013 GMT
PCにインストールしたクライアント証明書のシリアルナンバーの確認(Windows)
- コントロールパネルからインターネットオプションを開く。
- 「コンテンツ」タブを選び、「証明書」ボタンを押下する。
- インストールしたクライアント証明書を探して選択し、「表示」ボタンを押下する。
- 「詳細」タブを選び、「シリアル番号」を確認する。