Skip to content

Windows Azure クラウドサービスで証明書を取り扱うには

2013年4月15日

クラウドサービスにSSL証明書を適用する方法は、証明書を販売している各社のFAQに載っていますが、APNsの証明書のように独自に証明書をロードして使用したい場合はどうすればいいのか、その方法をここにメモしておきます。

ロールに証明書をインストールする

1.管理ポータルからクラウドサービスに証明書をアップロードする。

.pfxと.cerしかアップロードできないように制限がかかっています。.p12は拡張子を.pfxに変更してからアップロードしたらうまく展開されました。

2.各ロールインスタンスの証明書ストア、どこにインストールするかをcsdefファイルに記述する。

<Certificates>
  <Certificate name=”APNsCert” storeLocation=”LocalMachine” storeName=”My” />
</Certificates>

3.どの証明書をインストールするかをサムプリントでcscfgファイルに記述。(1を実施すると管理ポータルからサムプリントを参照できます)

<Certificates>
  <Certificate name=”APNsCert” thumbprint=”1の証明書サムプリント” thumbprintAlgorithm=”sha1″ />
</Certificates>

※管理ポータルはサムプリントと有効期限が一覧で見れるので便利です。

※ロールのプロパティから証明書ダイアログを使って選択する場合、ローカルコンピューターに使いたい証明書がインストールされていないと選択できませんが、直接書いてしまえばインストールされていなくても大丈夫です。

コードから証明書を取得する

Dim store As X509Store = New X509Store(StoreName.My, StoreLocation.LocalMachine)
store.Open(OpenFlags.OpenExistingOnly Or OpenFlags.ReadOnly)
Dim matchedCerts As X509Certificate2Collection = store.Certificates.Find(X509FindType.FindByThumbprint, “サムプリント“, False)

※X509Storeコンストラクタに渡す引数は2と一致させないと取得できません!

※Findメソッドの最後の引数をtrueにすると、例えば証明書チェーンが完全に解決できていないと取得出来なかったりします。

※取得したい証明書のサムプリントは、cscfgに設定内容として外出しにしておくべきでしょう。

広告

From → Apple, Azure

コメントする

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。