3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

IE8 on WindowesServer2003R2で特定のSSLサイトが開かない

WindowsServer2003R2、IE8の環境で、あるSSLを開くとページが表示できません。 以下のようにいわゆる404エラーのページです。

Internet Explorer ではこのページは表示できません 
   
   対処方法: 
     インターネットに接続していますが、接続しなおしてください。  
 
     アドレスを再入力する。  
 
     前のページに戻る。 
 
   可能性のある原因:
・インターネットに接続されていない。
・Web サイトに問題が発生している。
・アドレスに入力の間違いがある可能性がある。 

WindowsXP SP3 + IE8の環境では普通に開きました。

IEが悪いのかと思い、Chromeで試すと「無効なサーバー証明書です」と表示されました。

さてはSSLで使っている証明書が原因ではないかと判断し、XPで正常表示できている端末で証明書をファイルにエクスポートし、WindowsServer2003上で開くとこんなエラーが。。

「この証明書の整合性を保証できません。証明書が壊れているか、または変更されている可能性があります。」となっています。 なんじゃこりゃ?と思い、詳細をXPと比較してみました。

2003のほうは署名アルゴリズムのところがおかしい表示になっています。 XPは"sha256RSA"になっているのに、2003の方は"1.2.840.113549.1.1.11"となっています。

で調べると、SHA-2で署名した公開鍵証明書とWindows暗号化モジュールWindows XP SP3 SHA256ルート証明書 - 自堕落な技術者のヰキ(劇場公開版) - livedoor Wiki(ウィキ)に答えが有りました。

どうやら、WindowsServer2003系(R2含む)は、sha2は標準では対応してないようです。
この証明書はsha2なので、ダメだったわけですね。
確かに2008ではすんなり開きます。

対応としては、それ用のパッチがあるらしいのでそれを当てればいいようです。
パッチはSHA2 256 または上位の暗号化を使用するように CA を構成している場合は、Windows Server 2003 および Windows XP クライアントを Windows Server 2008 ベースの証明機関 (CA) 証明書を取得できません。からダウンロードできるようです。

パッチをあてれば今まで表示できなかったサイトが表示できるようになりました。