Twitter で Azure 界の抱かれたい男こと @kosmosebi から「Azure Web サイトで SHA-256 な SSL 証明書が使えるのか確認しろ」と脅されたので、震えながら確認しました。
WebsitesはECCサポートしてるけどハッシュアルゴリズム的にはどうだっけ?
— こすもす.えび (@kosmosebi) 2014, 12月 17
ちょっと作って試してみてよ
— こすもす.えび (@kosmosebi) 2014, 12月 17
結論としては問題なく SHA-256 な証明書が使えました。これからは確認した手順を書きます。
自己署名証明書の作成
最初は OS X の openssl を使って pfx を作ったところ、SSL バインド設定時にエラーになってしまったので諦めて Windows に戻って自己署名証明書を作りました。
以下の記事がとても参考になったのでありがたいです。と言うかほぼ丸パクリです。
Create a Self-Signed Certificate for Windows Azure Website | Monkey Weekend
記事から変更した点は sha1 を sha256 にしたぐらいです。
makecert -r -pe -n CN="shibayan.jp" -b 01/01/2010 -e 12/31/2019 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 -a sha256 -len 2048 -sv shibayan.jp.pvk shibayan.jp.cer pvk2pfx -pvk shibayan.jp.pvk -spc shibayan.jp.cer -pfx shibayan.jp.pfx -po PassPhrase
このコマンドを実行すると shibayan.jp.pfx が生成されるので、後は管理ポータルから設定します。
Azure Web サイトへ設定
特に変わった点もなく、まずは証明書をアップロードします。エラーなどは表示されず、成功しました。
後は SSL バインドの設定からドメインと証明書を関連付けるだけです。今回は SNI SSL で設定しました。
これで保存時にエラーが出なければ設定完了です。
証明書の確認
後は実際にブラウザからアクセスして、証明書が本当に SHA-256 になっているのか確認します。
署名ハッシュアルゴリズムが sha256 になっていることが確認出来ました。Azure Web サイトは SHA-256 な SSL 証明書に対応していることが分かったので、安心して使えますね。