https://www.gootencash-sys.jp/ に対する証明書は、ただの期限切れではなくて Opera9.2で「新しい証明書が発行されているため証明書は破棄されました」と表示される件。
どういう状態なのか OpenSSL のコマンドで追ってみた。
% dig www.gootencash-sys.jp
→ IPアドレスは 211.12.39.69:443
% openssl s_client -connect 211.12.39.69:443
→www.gootencash-sys.jpの証明書を入手。結果として表示されている
-----BEGIN CERTIFICATE----- から -----END CERTIFICATE-----までを www.gootencash-sys.jp.crt として保存
% openssl x509 -in www.gootencash-sys.jp.crt -issuer -noout
issuer= /C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
% less /usr/local/share/curl/curl-ca-bundle.crt
→ CAの証明書を入手。上記 issuer である /C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority を探す
そいつの-----BEGIN CERTIFICATE----- から -----END CERTIFICATE-----までを RSASecureServer.crt として保存
% openssl x509 -in www.gootencash-sys.jp.crt -text -noout
→ OCSPのURIを入手する
Authority Information Access:
OCSP - URI:http://ocsp.verisign.com
% openssl ocsp -issuer RSASecureServer.crt -cert www.gootechcach-sys.jp.crt -no_nonce -url http://ocsp.verisign.com -CAfile /usr/local/share/curl/curl-ca-bundle.crt
Response verify OK
www.gootechcach-sys.jp.crt: revoked
This Update: Mar 6 14:42:00 2007 GMT
Next Update: Jun 1 14:20:29 2007 GMT
Reason: superseded
Revocation Time: Dec 1 00:45:18 2005 GMT
Reason: superseded が「新しい証明書が発行されているため証明書は破棄されました」つーことだな。 古い証明書に対する秘密鍵が漏洩した可能性が高いが、それはともかく新しい証明書が発行されているのに 古い証明書で運用している理由はないはずなので、この場合利用を継続させることはないだろうというIE7の処置は正しい。 それ以上に Opera9.2 の表示は素晴らしい。
単純に期限切れの場合はどうなるのかは別途調査が必要だ。
ちなみに CRLファイルを入手して失効チェックすることは可能だが、CRLファイルを openssl crl に食わせた結果では失効理由が分からなかった。
(追記) RFC3280によると、失効理由のフラグは以下のように定義されている
ReasonFlags ::= BIT STRING {
unused (0),
keyCompromise (1),
cACompromise (2),
affiliationChanged (3),
superseded (4),
cessationOfOperation (5),
certificateHold (6),
privilegeWithdrawn (7),
aACompromise (8) }
keyCompromise(秘密鍵の漏洩)は別に定義されているので、verisignを信用するなら漏洩したわけではないようだ。
CRLによる失効ではなく、単なる期限切れの場合:

このように続行できる。(一時的にこのサイトの証明書を今年1月まで有効の奴に差し替えてみた)