Могу ли я создать самоподписанный сертификат SSL для Windows Azure, используя только makecert.exe?

Фон: мне нужно протестировать конечную точку https для WebRole в Windows Azure. Для этого мне нужно загрузить самозаверяющий сертификат, добавить отпечаток сертификата в конфигурацию WebRole и, наконец, связать конечную точку с этим настроенным сертификатом.

Я создал самозаверяющий сертификат с помощью makecert.exe, который доступен через командную строку Visual Studio. Я использовал следующую команду:

makecert.exe -r -pe -n "CN=test.cloudapp.net" -sky exchange -ss my -len 2048 test.pfx

Команда выполнена успешно, и я могу загрузить файл сертификата в размещенную службу Windows Azure. Но развертывание WebRole не удается из-за следующей ошибки:

Сертификат с отпечатком 6AB ..., связанный с конечной точкой ввода HTTPS Endpoint2, не содержит закрытого ключа.

Мне нужно экспортировать сертификат из моего магазина, включить закрытый ключ и указать пароль. Если я загружу этот экспортированный файл сертификата и использую его отпечаток, развертывание завершится успешно.

Я хочу создать файл сертификата, включающий закрытый ключ, без предварительного сохранения сертификата в каком-либо магазине и его экспорта из магазина. Возможно ли это с помощью makecert.exe?


person Michiel van Oosterhout    schedule 22.05.2012    source источник


Ответы (1)


Чтобы создать сертификат, не сохраняя его в каком-либо хранилище, вам необходимо использовать pvk2pfx.exe (доступный через командную строку Visual Studio).

Работает это так:

makecert.exe -sv CertKey.pvk -n "CN=My Azure Certificate" CertKey.cer
pvk2pfx.exe -pvk CertKey.pvk -spc CertKey.cer -pfx MyPFX.pfx -po yourPasswordHere

Запуск makecert.exe запросит у вас пароль для закрытого ключа. Вам нужно будет ввести этот пароль для аргумента -po команды pvk2pfx.exe.

Наконец, у вас будет файл pfx (содержащий закрытый ключ) с именем MyPFX.pfx.

person Sandrino Di Mattia    schedule 22.05.2012
comment
У меня возникли проблемы с тем, чтобы Azure принял файл PFX, созданный pvk2pfx. Решением было импортировать сертификат в хранилище сертификатов Windows, а затем экспортировать оттуда. - person Juha Palomäki; 14.03.2013
comment
Если кому-то интересно, как только вы это сделаете, вы сможете найти отпечаток сертификата в консоли управления Azure. - person Rob Church; 23.04.2013
comment
@RobChurch или двойным щелчком по файлу .cer. - person Ahmet Alp Balkan; 09.10.2014
comment
Кажется, вы ДОЛЖНЫ использовать параметр -po с pvk2pfx, чтобы все работало с Azure. В документах говорится, что если нет -po, он использует тот, который находится в .pvk, но я никогда не мог заставить Azure взять .pfx, пока я явно не использовал параметр -po - person Mikee; 22.05.2015