WindowsAzureからSSLを介して別のパブリックWebサービスと通信します。また、パブリックWebサービスの証明書は自己署名されています。したがって、WindowsAzureの公開証明書を信頼する必要があります。
証明書(.cer)をWindows Azureにインポートするにはどうすればよいですか?管理ポータルでは、秘密鍵を使用した証明書のみをインポートできます。
WindowsAzureからSSLを介して別のパブリックWebサービスと通信します。また、パブリックWebサービスの証明書は自己署名されています。したがって、WindowsAzureの公開証明書を信頼する必要があります。
証明書(.cer)をWindows Azureにインポートするにはどうすればよいですか?管理ポータルでは、秘密鍵を使用した証明書のみをインポートできます。
これは実際にはポータルの問題であり、Azure自体の問題ではありません。ポータルの[証明書の追加]セクションに移動し、[参照]ボタンをクリックして、.cerファイルがある場所に移動します。リストされたファイルは.pfxファイルにフィルター処理されるため、インポートするファイルは表示されませんが、ファイルの名前を入力すると機能します。
これはポータルの問題でした。私はそれが修正されたと思っていました-明らかにそうではありません。.cerはいつでも.pfxに変換できます(パスワードが不十分です)。私はこれをLINQPadから実行します:
void Main()
{
string file = @"C:\temp\deploy\dunnrydeploy.cer";
var cert = X509Certificate2.CreateFromCertFile(file);
var bytes = ((X509Certificate2)cert).Export(X509ContentType.Pfx, "p");
var fs = File.Create(@"C:\temp\deploy\foo.pfx");
using (fs)
{
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
}
}
これを行う方法についてのブログはほとんどありません-http ://blogs.msdn.com/b/jnak/archive/2010/01/29/installing-certificates-in-windows-azure-vms.aspx
これは、ロール内の自己署名証明書に手動のXMLエントリを使用します
<Certificate name="SelfSigned" storeLocation="CurrentUser" storeName="<enter a value>" />
これが、秘密鍵から公開証明書を取得してAzureにアップロードした方法です。
1)PowerShellを使用して証明書を取得します。
PS C:\MyWebsite> $cert = New-SelfSignedCertificate -DnsName mycompany.com -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 2048 -KeySpec "KeyExchange"
PS C:\MyWebsite> $password = ConvertTo-SecureString -String "mypassword" -Force -AsPlainText
PS C:\MyWebsite> Export-PfxCertificate -Cert $cert -FilePath ".\mycompany.pfx" -Password $password
2)次に、ポータルに証明書をアップロードします。
詳細については、https://docs.microsoft.com/en-us/azure/cloud-services/cloud-services-certs-createを参照してください。