Как импортировать публичный сертификат в 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

Другие вопросы по тегам