一度発行した電子証明書を強制的に失効(無効化)させることもある。以下のようなときである。
・ユーザが退職した、システムを使わなくなった
・秘密鍵が漏洩してしまい、その証明書を使わせたくない

このようなときに利用するのが、CRL(Certificate Revocation List)である。電子証明書のブラックリストと言ってよいだろう。

ここでは、証明書の失効方法と、CRLの生成方法を解説する。

/etc/pki/CA/newcerts ディレクトリに、今まで発行した電子証明書がすべて残されている。この中から、対象の電子証明書ファイルを探し出しておく。grepコマンドを使うとすぐに探し出せる。

testuser4の電子証明書を探し出す例:
# cd /etc/pki/CA/newcerts
# grep testuser4 *
EE1935C07F6A3967.pem:        Subject: C=jp, ST=japan, O=viva-musen, OU=OpenSSL, CN=testuser4

testuser4の状態を確認する例:
# grep testuser4 /etc/pki/CA/index.txt
      140427094615Z           EE1935C07F6A3967        unknown /C=jp/ST=japan/O=viva-musen/OU=OpenSSL/CN=testuser4

対象の電子証明書ファイルを見つけたら、openssl ca -revokeで無効化
# openssl ca -revoke EE1935C07F6A3967.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: caの秘密鍵パスワードを入力
Revoking Certificate EE1935C07F6A3967.
Data Base Updated

再度testuser4の状態を確認する:
# grep testuser4 /etc/pki/CA/index.txt
R       140427094615Z   130501135019Z   EE1935C07F6A3967        unknown /C=jp/ST=japan/O=viva-musen/OU=OpenSSL/CN=testuser4
行頭のRはRevoke,つまり取り消しと言う意味だ。

取り消しが終わったらら、CRLを作成する。
# openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: caの秘密鍵パスワードを入力

/etc/pki/CA/crlnumber: No such file or directory
error while loading CRL number
が表示される場合は、CRL番号の初期化が必要。
# cp serial crlnumber
として、ファイルをあらかじめ作っておく。serialをコピーするのは、桁数などを合わせるため。
適当な数字で作ると、「asn1 encoding routines:a2i_ASN1_INTEGER:short line:f_int.c」というエラーになってしまうことがある。

crlの内容確認方法:
# openssl crl -in /etc/pki/CA/crl/crl.pem -text
Certificate Revocation List (CRL):
        Version 2 (0x1)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=jp/ST=japan/O=viva-musen/OU=OpenSSL/CN=viva-musen-CA-openssl
        Last Update: May  1 14:09:32 2013 GMT
        Next Update: May 31 14:09:32 2013 GMT
        CRL extensions:
            X509v3 CRL Number:
                17156803356332276072
Revoked Certificates:
    Serial Number: EE1935C07F6A3967  ←失効した電子証明書のシリアル番号
        Revocation Date: May  1 13:50:19 2013 GMT  ←失効日付
    Serial Number: EE1935C07F6A3968  ←失効した電子証明書のシリアル番号
        Revocation Date: May  2 02:46:56 2013 GMT ←失効日付
・・・・