クライアント証明書での認証エラー

クライアント証明書でWebサーバへのアクセスに認証をかけていたが、ある日接続エラーが発生し、接続出来なくなった。

以下、エラー対応についてメモ。

エラー内容

 SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT 
ERR_BAD_SSL_CLIENT_AUTH_CERT

原因

以下の期限をチェックした

  1. クライアント証明書

  2. クライアント証明書のCA証明書

  3. CRL

結果としてはCRLの期限が切れていた。

証明書の期限は10年にしていたが、CRLは30日担っていたため、今回のように突然エラーとなった。

対応

CRLを更新する。

openssl ca -config /path/to/openssl.cnf -gencrl -out /path/to/crl.pem

を実行してcrlを再生成する。(openssl.cnf内のCRLのdefault_crl_daysは書き換えておく)

更新したらapacheを再起動する。

CRLの期限のチェックは盲点だった。。。

CRLの期限切らたらアクセス出来なくなるっていうのも、なかなか強気な設定な気がしますが。。。。