我将通过SSL从Windows Azure与另一个公共Web服务进行通信。公共Web服务上的证书是自签名的。因此,我需要信任Windows Azure上的公共证书。
如何将证书(.cer)导入Windows Azure?管理门户仅允许导入带有私钥的证书。
答案 0 :(得分:5)
这实际上是门户网站的问题,而不是azure本身。转到门户中的“添加证书”部分,单击浏览按钮,导航到.cer文件所在的位置。列出的文件被过滤为.pfx文件,因此您不会看到要导入的文件,但是,如果您输入文件的名称,它将起作用。
答案 1 :(得分:1)
这是门户网站的问题。我以为它是固定的 - 显然不是。您也可以将.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();
}
}
答案 2 :(得分:0)
关于如何执行此操作的博客很少 - 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>" />
答案 3 :(得分:0)
这是我从私钥获取公共证书并上传到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