どこかのブログか記事でWindows Server 2003はSHA256withRSA等、SHA2シリーズの証明書に対応しているという記事を見て、Windows Server 2003は対応済であると勘違いしていたんですが、昨日、ちょっと試してみてWindows Server 2003 SP1 Standard Editionでは、どうやら対応していないっぽいんです。
SHA256withRSA 2048bitのルート証明書をインポートしようとして表示させてみたんですが、ここで説明したような、Windows XP SP2のときと同じ「証明書は壊れているか、変更されている可能性があります。」というメッセージが表示されます。
また、Windows Server 2003でSP2とかR2とかで対応するようになったという記事も探してみたんですが、見つけることができませんでした。結局Windows Server 2003ではどのような方法を使ってもSHA256withRSA証明書には対応させることはできず、SPなども出ておらず、Windows Server 2008を使いなさいということのようです、、、、残念、
今回の調査にあたって、証明書関連のツールを少し整備しました。Challenge PKI Test Suite(CPKITS)やOpenSSL、AiCrypto、IAIK、BouncyCastle、Entrust Toolkit、または完全自前、等様々なツールで証明書データを作り出すツールを場合によって使い分けていたんですが、現状どれも一長一短というところで、使いやすさでは、CPKITSがとても心地よいのですが、基本はAiCryptoを使っているためにSHA2には対応していません。
そこで、今回用意したツールはSHA1withRSAの証明書やCRLと署名用の鍵を利用して、元の証明書やCRLの構造をそのままに、単にAlgorithmIdentifierをSHA256 or SHA512withRSA等に置き換え、署名値を置き換えるJythonのスクリプトです。
CPKITSがDNや拡張などかなり柔軟な証明書生成に対応しており、これをアルゴリズムと署名値だけ置き換えて、SHA256withRSA、SHA512withRSAの証明書のテストができるようにするためのツールです。

SHA256withRSA 2048bitのルート証明書をインポートしようとして表示させてみたんですが、ここで説明したような、Windows XP SP2のときと同じ「証明書は壊れているか、変更されている可能性があります。」というメッセージが表示されます。
また、Windows Server 2003でSP2とかR2とかで対応するようになったという記事も探してみたんですが、見つけることができませんでした。結局Windows Server 2003ではどのような方法を使ってもSHA256withRSA証明書には対応させることはできず、SPなども出ておらず、Windows Server 2008を使いなさいということのようです、、、、残念、
今回の調査にあたって、証明書関連のツールを少し整備しました。Challenge PKI Test Suite(CPKITS)やOpenSSL、AiCrypto、IAIK、BouncyCastle、Entrust Toolkit、または完全自前、等様々なツールで証明書データを作り出すツールを場合によって使い分けていたんですが、現状どれも一長一短というところで、使いやすさでは、CPKITSがとても心地よいのですが、基本はAiCryptoを使っているためにSHA2には対応していません。
そこで、今回用意したツールはSHA1withRSAの証明書やCRLと署名用の鍵を利用して、元の証明書やCRLの構造をそのままに、単にAlgorithmIdentifierをSHA256 or SHA512withRSA等に置き換え、署名値を置き換えるJythonのスクリプトです。
CPKITSがDNや拡張などかなり柔軟な証明書生成に対応しており、これをアルゴリズムと署名値だけ置き換えて、SHA256withRSA、SHA512withRSAの証明書のテストができるようにするためのツールです。
