【Azure for ITPRO】サービス証明書の準備
昨日以下の投稿をしました。この記事では既に証明書が存在するものとして書いてしまいましたが、よくよく考えてみれば「証明書を取得するまで」が結構不明な点が多かったりしますよね。
ということで、今回はサービス証明書の準備手順についてまとめておきます。サブスクリプション証明書については問題ないですよね。
Windows Azure 上にアプリケーションを展開した場合、その URL は以下の通りです。
SSLを使用する場合、hogehoge.cloudapp.net で証明書を取得する必要がありますが、何を隠そう cloudapp.net は Microsoft 管理の CN であるため、認証局(たとえば Verisign 社)からは「Microsoft の CSR(Certificate Signing Request)をよこせ」と言われてしまいます。つまり、事実上 hogehoge.cloudapp.net では証明書を取得できない..ということになります。
じゃどうするか?2つの方法があります。
- とりいそぎ自己署名証明書を作成して使用する
- 別名を使用する
いますぐテストしたい!場合には自己署名証明書が手軽ですね。自己署名証明書を作成するには MakeCert コマンドと Pvk2pfx コマンドを使用しますが、これについては別投稿でまとめます。
別名を使用する…とは、要は CNAME を使用するってことです。hogehoge.cloudapp.net では証明書を取得できないので、自社ドメインに即した名称(hogehoge.anno.com とか)を使用し、こいつで証明書を取得することになります。つまり、利用者がアクセスする場合には、
という url を使用することになるわけで、当然利用者には この url を案内しなければなりません。
証明書を取得するまでの手順を簡単にまとめると以下の通りです。証明書取得の経験のある方ならば、なんら難しいことではないですよね。
- CNAME を決定し、外向けの DNS に登録します
- CSR(Certificate Signing Request)を生成します
CSRとは、証明書の申請にあたり、認証局に提出するファイルです。なんと、この手順について Verisign 社のサイトにとてもわかりやすくまとめられていますので参考になさってください!
https://www.verisign.co.jp/ssl/help/csr/ciis7_new.html
(注意) 上記ページでも解説されている通り、CSR の作成には、IIS の管理コンソールを使用しています。つまり CSR 作成にあたっては事前にIIS がインストールされたマシンを用意しておいていただく必要があります。CSR を発行した IIS サーバーには秘密キーが格納されており、これは後から PFX ファイルとともにエクスポートして Azure 上に登録することになります。くれぐれも CSR 作成後にサーバーを消してしまうことなど無いようにしてください。 - 認証局の指定する手順に従ってCSR を提出し、証明書が発行されるのを待つ
- 証明書(.CER)が発行されたら、CSRを作成したサーバーにインストールします
- インストールした証明書から、PFX ファイルを作成します。このとき PFXファイルには 秘密キーを含めてください
- 保存した PFX ファイルを Windows Azure Portal から登録します。手順は【Azure for ITPRO】証明書の管理について で解説されている通りです
以上、簡単にまとめてみましたが、作業を行いながらまとめたわけではないので抜けがあるかもしれません…実運用に即して内容に不備がございましたらご指摘いただけるとうれしいです。
ちなみに、クラウドベンダーによっては、*.cloudapp.net のようなワイルドカード証明書を無償で提供しているところもあるようですね。ひとまずマイクロソフトは今後このようなサービスを提供する予定はないようです。