Как импортировать публичный сертификат в Windows Azure?
Я собираюсь общаться из Windows Azure с другим общедоступным веб-сервисом через SSL. А сертификат на общедоступном веб-сервисе самоподписан. Поэтому мне нужно доверять общедоступному сертификату на моем Windows Azure.
Как я могу импортировать сертификат (.cer) в Windows Azure? Портал управления позволяет импортировать только сертификат с закрытым ключом.
3 ответа
Это на самом деле проблема с порталом, а не с самой лазурью. Перейдите в раздел "Добавить сертификат" на портале, нажмите кнопку обзора, перейдите в папку, где находится ваш файл.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