конвертировать p7b в pfx для Azure - PullRequest
27 голосов
/ 15 июля 2011

Я пытаюсь настроить конечные точки для Azure.

Мне дали файл .p7b, но мне нужен файл .pfx с закрытым ключом для Azure.

Есть ли способ конвертировать мой .p7b в .pfx?

1 Ответ

60 голосов
/ 20 февраля 2013

Хорошо, - это краткое изложение всей схемы сертификатов SSL Azure. Я сделал это с GoDaddy (и получил большую помощь от одного из их опытных сотрудников службы технической поддержки).Также обратите внимание, что я сделал это на Windows 8 Pro;ваш опыт может немного отличаться и / или ваш пробег может отличаться; -)

Платите свои деньги в CA (центр сертификации), чтобы купить сертификат SSL.

Создать CSR (Запрос на подпись сертификата)

Теперь вам нужно создать CSR - текст, который вы должны предоставить в ЦС, чтобы они создали ваш сертификат.CSR содержит несколько частей информации:

  1. Имя домена, связанного с сертификатом.
  2. Открытый ключ для связи с сертификатом.Обратите внимание, что CSR, который вы предоставляете CA, НЕ содержит связанный с ним закрытый ключ.

Вы создаете CSR локально на своем ПК с помощью IIS Manager.Примечание. IIS включен в Windows, но не устанавливается по умолчанию.[Я оставлю детали установки IIS в качестве упражнения для студента.Может быть, какой-нибудь добрый человек отредактирует этот ответ и укажет эти подробности.]

РЕДАКТИРОВАТЬ: вместо установки IIS на локальный компьютер, вы можете включить RDP в облачную службу в Azure (очень простосделать) и использовать IIS на этом компьютере для создания CSR и завершения запроса на подпись.Если вы делаете это, не забудьте сделать весь этот процесс в один присест.Если вы сгенерируете CSR, а затем дождетесь завершения запроса до некоторого времени позже, облачная служба может не работать на той же машине, и у вас не будет опции «Экспорт» в IIS.

Чтобы создать CSR:

  1. Запуск диспетчера IIS
  2. Выбор (двойной щелчок) Сертификаты сервера
  3. На панели действий справасторона окна, нажмите на Создать запрос сертификата.Общее имя - это доменное имя, связанное с сертификатом.В остальных полях указывается ваша компания.
  4. Диспетчер IIS запросит поставщика службы криптографии и длину в битах.Вы должны выбрать, по крайней мере, битовую длину, по крайней мере, 2048.
  5. IIS Manager создаст пару открытого / закрытого ключа.Открытый ключ включен в текстовый файл CSR, который IIS Manager создает для вас.Закрытый ключ хранится где-то на вашем компьютере (я полагаю, в хранилище личных ключей).

Чтобы создать CSR - вы также можете обратиться к подробным инструкциям на godaddy site .очень полезно.

Теперь вернитесь на веб-сайт своего ЦС и найдите онлайн-инструмент, который позволяет вам создать купленный сертификат.Первое, что вам нужно сделать, это вставить (или загрузить) текст CSR.После того, как вы перепрыгнете через ваши ЦС, вы получите от них один или несколько файлов сертификатов.

Установите файлы сертификатов в IIS

GoDaddy предоставляет вам два файла: aФайл p7b и файл crt.

Файл crt содержит ваш открытый сертификат.Но вы не можете (пока) загрузить его своему веб-хостинг-провайдеру, поскольку он не включает в себя соответствующий закрытый ключ.Веб-хосту нужен как личный ключ, так и открытый ключ, потому что он будет выполнять сквозное шифрование от вашего имени.

Файл p7b содержит сертификаты, которые содержат "цепочка сертификатов ", которая позволяет проверить ваш сертификат до вашего ЦС.Другими словами, когда кто-то заходит на ваш сайт и получает ваш сертификат, который утверждает, что ваш сайт управляется Acme.com, эта цепочка сертификатов позволяет браузеру этого человека проверять, что ваш ЦС подтверждает вашу личность.Мы вернемся к этому файлу позже ...

Теперь вам нужно объединить ваш открытый сертификат с вашим закрытым ключом и сохранить результат в защищенном паролем файле pfk.

Вернитесь в IIS Manager на том же компьютере, на котором был создан CSR, вернитесь на страницу «Сертификаты сервера» и нажмите «Завершить запрос сертификата» (на панели «Действия» в правой части экрана).

  1. Скажите мастеру использовать файл сертификата, который вы получили от своего ЦС (в моем случае это был файл crt, но это мог быть файл другого типа, если ваш ЦС использовал другой метод кодирования).
  2. Friendly Name, вероятно, должно быть вашим доменным именем, но вы также можете добавить «SSL», чтобы помочь его различить (например, ContosoSSL)
  3. Скажите мастеру сохранить ключ в вашем Личном хранилище

Чтобы установить сертификаты в IIS, могут помочь следующие подробные шаги из справки сайта godaddy .

Получить файл pfx

Теперь вы должны увидеть новый сертификат в списке на странице «Сертификаты сервера» в диспетчере IIS.Выберите этот сертификат и экспортируйте его в виде файла pfx (через панель «Действия» в правой части экрана).

Теперь вы можете перейти на https://manage.windowsazure.com (портал управления Windows Azure), выберитевеб-сайта или облачной службы и загрузите файл pfx в хранилище сертификатов Azure.

Вот так.Удачи ...

EDIT

Приведенные выше инструкции касаются только установки SSL-сертификата в веб-роли Azure, но не промежуточногосертификаты (то есть "цепочка сертификатов").Это работает для большинства клиентов (браузеров), потому что большинство браузеров имеют промежуточные сертификаты для основных CA, встроенных в них.Другими словами, браузеры знают, как добраться от вашего SSL-сертификата до ЦС, который его выдал.Но некоторые клиенты требуют, чтобы сам веб-сайт публиковал не только сертификат SSL, но и все промежуточные сертификаты.

См. этот ответ SO для получения подробной информации о том, как это сделать.

...