Azure/Windows側から..。
http://msdn.microsoft.com/en-us/library/windowsazure/ff795779.aspx#uploadの手順に従い、ServiceConfiguration.Cloud.cscfgに次のような内容を含めます。
<Certificates>
<Certificate name="www.myserver.com"
thumbprint="ad513653e4560fe4afce5bdac88c744fbcf93525"
thumbprintAlgorithm="sha1"/>
</Certificates>
およびServiceDefinition.build.csdefには、たとえば
<Endpoints>
<InputEndpoint name="HttpIn" port="80" protocol="tcp" />
<InputEndpoint name="HttpsIn" protocol="tcp" port="443"/>
</Endpoints>
<Certificates>
<Certificate name="www.myserver.com"
thumbprint="AD513653E4560FE4AFCE5BDAC88C744FBCF93525"
thumbprintAlgorithm="sha1" />
</Certificates>
この拇印のある証明書は、Azure Platform Webコンソールを介してホステッドサービスにアップロードされ、Azureインスタンスの起動時に、証明書がIISのサーバー証明書に展開されます。インスタンスにRDPを実行し、IISコンソールのサーバー証明書で証明書を確認できます。
Java側から..。
Javaで「Windows-MY」キーストアに接続する場合
KeyStore keystore = KeyStore.getInstance("Windows-MY");
keystore.load(null, null);
次に、使用可能なキーストアを探します。この証明書は表示されません。AzureインスタンスにRDPを実行し、certmgr.mscを介して手動で証明書を追加すると、Javaプロセスは「Windows-MY」キーストアを使用して証明書を認識します。
Java /Azure証明書の統合の例がたくさんあります-例: http: //blogs.msdn.com/b/avkashchauhan/archive/2010/11/07/adding-ssl-https-security-with-tomcat-java-solution- in-windows-azure.aspx-証明書がキーストアファイルにエクスポートされ、azureパッケージとともに展開されますが、パッケージビルドとは別に、標準のAzureを使用して証明書を管理できる方法を見つけたいと思います。証明書管理アプローチ。使用する証明書は他の当事者によって管理されているため、アクセスできないことに注意してください。
また、.netコードを使用してこの証明書を取得する方法の例も示しています。たとえば、WindowsAzureのコードで証明書を取得するにはどうすればよいですか。
このAzureでデプロイされた証明書にJavaから直接アクセスするにはどうすればよいですか?「Windows-MY」以外のキーストアに展開されていますか?IISのサーバー証明書からJavaから直接証明書にアクセスできますか?
ありがとう、
更新(5月20日)
ServiceDefinition.csdefファイルのstoreLocation="CurrentUser"を使用するためのヒントを誰かから受け取りました。これは、その仕事をする必要があるように聞こえました。
<Certificate name="www.myserver.com"
storeLocation="CurrentUser" storeName="My" />
ただし、何らかの理由で、Azureは証明書をCurrentUserストアに展開していないようです。storeLocationがLocalMachineに設定されている場合(および上記のように)、サーバーにデプロイされた証明書のみが表示されます。これは、Javaがアクセスできないように見えるローカルマシン証明書ストアになります。