2010/04/14

"GetOcspSignerCertificate"

失効されてるはずなのに OCSP が教えてくれないな〜
Windows でそんなことが起きた場合にはイベント ビューアーを見ましょう
Windows 7 であればイベント ビューアーを開くを参考

[アプリケーションとサービス ログ] -> [Microsoft] -> [Windows] -> [CAPI2]
と進みます
この CAPI2 は CryptoAPI 2 の略で、1 は XP とか 2003 までのものなのかな?
Vista/2008 移行の色々機能が強化された CryptoAPI が CAPI2 です

デフォルトだとログが無効化されているので右の方にある [ログを有効化] を押せば
SSL なページを見にいったときの証明書の検証のログなどをガシガシ保存してくれます

例えばエラーが出てるところを見て
GetOcspSignerCertificate なんて書いてあったとしますと
検索することによって
Windows Vista での PKI に関する問題のトラブルシューティング
というページがひっかかりますので探しますと

OCSP 応答には署名が必要であり、OCSP 署名者の証明書には OCSP 署名 EKU が含まれている必要があります。この EKU がないと、エラーが発生します。このエラーは、"CertRejectedRevocationInfo" イベントの操作 "GetOCSPSignerCertificate" で示されます。OCSP 署名者の証明書の内容でその他のエラーが発生した場合も、同じ操作がログに記録されます。このようなエラーには、次のものがあります。

  • 期間が無効な証明書

  • CDP 拡張機能または OCSP URL は含まれていても "Revocation_No_Check" 拡張機能が含まれていない証明書

これらのエラーの場合、CAPI2 では、OCSP 署名者の証明書に関する情報もログに記録されます。

ほぉほぉ

Revocation_No_Check というのは RFC2560 の 4.2.2.2.1 に
id-pkix-ocsp-nocheck OBJECT IDENTIFIER ::= { id-pkix-ocsp 5 } と記載が
1.3.6.1.5.5.7.48.1.5 ですね
OCSP はオンラインでやりとりをするので MITM などの対応をしなくてはいけません
OCSP Responder が信頼できるかどうかの判断はとても大切です

ちなみに OpenSSL の場合 man x509v3_config を見れば
   OCSP No Check
The OCSP No Check extension is a string extension but its value is ignored.

Example:

noCheck = ignored
という記述が見付けられます

やぁ、Google って便利ですね

0 件のコメント:

コメントを投稿