メイン | 2008年01月 »

2007年12月 アーカイブ

2007年12月26日

IE6はHTTPS時に証明書の種類のチェックしない?

SSL証明書には証明書のタイプがいくつか存在し、目的によって使い分けるようになっています。
おもなタイプは以下のようになっているようです。

  • サーバー証明書
  • クライアント証明書
  • メール(S/MIME)証明書
  • オブジェクト証明書

Verisignなどで証明書の署名をしてもらう場合、
上記タイプごとに申込コースや料金が違うので注意が必要です。

このタイプは証明書を作る時にopenssl.cnfのnsCertTypeで変更します。

さて、ここのあたりをまったく忘れてclientタイプのSSLの自己証明書を作ってしまったのですが、
この証明書をApacheに設定した場合、
FirefoxでそのHTTPSサイトを表示しようとすると
-8101というよくわからないエラーが出て接続に失敗します。
ところが、同じサイトをIEで表示しようすると、特に問題なく表示できてしまいました。
ここでふと思い出してnsCertTypeをserverにしてあげてからもう一度証明書を作り直すと、
両方のブラウザで接続できるようになりました。

上記から判断するに、どうもIEはSSL証明書の種類が
Serverかどうかをチェックしていないような気がします。
たぶん挙動的には証明書の種類をチェックするほうが正しいでしょう。

IEだけでHTTPSサイトの動作を確認しても、
実はほかのブラウザで見たときはうまく動いていないかもしれないというお話でした。