我将通过 SSL 从 Windows Azure 与另一个公共 Web 服务进行通信。公共网络服务上的证书是自签名的。因此,我需要信任我的 Windows Azure 上的公共证书。
如何将证书 (.cer) 导入 Windows Azure?管理门户只允许导入带有私钥的证书。
我将通过 SSL 从 Windows Azure 与另一个公共 Web 服务进行通信。公共网络服务上的证书是自签名的。因此,我需要信任我的 Windows Azure 上的公共证书。
如何将证书 (.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