Quantcast
Channel: huskyの備忘録 »証明書
Viewing all articles
Browse latest Browse all 2

SHA-2で署名した公開鍵証明書とWindows暗号化モジュール

$
0
0

先日、

OpenSSLを使った認証局構築セット。中間認証局無しWindowsバッチ版

という記事を公開したのですが、 

問題があってこっそりと記事を(ダウンロードファイルも)修正しました。

 

修正内容は、

CA(認証局)の署名アルゴリズムを、sha512RSAから、sha1RSAへ変更

 してあります。

本来は、2010年問題によってSHA1は、SHA2への移行が推奨されています。

 

その為、署名アルゴリズムもsha512RSAを使用すべきなのですが、

作成された証明書をWindowsで確認すると下記の通り、

openssl_1.jpg

openssl_2.jpg

openssl_3.jpg

この証明書の整合性を保証できません。証明書が壊れているか、または変更されている可能性があります。

この証明書には無効なデジタル署名があります。

と表示され、不正な公開鍵証明書として扱われてしまいます。

もちろん、このCAによって署名を付与した証明書も同様に扱われてしまいます。

 

正当な公開鍵証明書であれば以下の様に表示されます。

openssl_4.jpg

openssl_5.jpg

openssl_6.jpg

 

作成自体は成功しているので怪しいとおもい、OpenSSLコマンドで証明書を検証してみました。

検証コマンドと実行結果は以下の通り。

# CA(認証局)の公開鍵証明書の自己署名を検証
C:\crtFiles>openssl verify -CAfile rootCA.crt rootCA.crt
rootCA.crt: OK

# サーバ用の公開鍵証明書のCAの署名を検証
C:\crtFiles>openssl verify -CAfile rootCA.crt sampleServer.crt
sampleServer.crt: OK

検証結果はOKなのでやはり証明書に問題はないようです。

 

で、ぐぐってみると、以下のような記事を発見。

Windows XP SP3 SHA256ルート証明書

上記のページによると、

WindowsのServicePack3を適用しないとSHA2は使用できない!

ということみたいです。

 

マイクロソフト発行の以下のPDFにも明記されていました。

Windows XP Service Pack 3 の概要 (PDF)

※9ページ最下部

 

ということで、ServicePack3を適用してみたところ、無事にSHA2で署名した公開鍵証明書の検証ができました。

 

ということで、

・2010年問題の為に、署名アルゴリズムにはSHA2を、暗号化アルゴリズムにはRSA2048を使用すべき。

・ただし、WindowsXPのServicePack2以前のWindowsではSHA2を使用できない。

・なので、WindowsXPのServicePack2以前のWindowsからアクセスされる場合、SHA2は使用できない。

となる。

 

不特定多数のユーザに公開しているサーバでは非常に厳しい条件となりますね。。。

まだしばらくはSHA1を使用した方が良いのか。。。

といっても、切り替えるタイミングがおとずれるのか。。。

 

簡単に答えを出すのは難しそうです。

 

 


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images