Как создать сертификат .cer файл?

11

Я хотел бы поработать с сертификатами, а третья сторона отправляет мне значения:

-----BEGIN CERTIFICATE-----
[...]Many letters and digits[...]
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
[...]Many letters and digits[...]
-----END RSA PRIVATE KEY-----

Но мне нужен файл .cer, чтобы вставить в мой IIS. Как я могу создать этот файл .cer?

Заранее спасибо за любые ответы.

splattne
источник

Ответы:

14

Вам дали сертификат (открытая часть, подписанная доверенной стороной) и связанный ключ (закрытая часть). Проще говоря, это закрытый ключ, который позволяет вашему приложению подписывать материал таким образом, чтобы удаленная сторона могла затем проверить его, используя открытую часть, сертификат. Ваш сервер должен быть связан, чтобы протоколы, такие как SSL \ TLS, могли работать правильно.

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

Самый быстрый способ, который я нашел для его преобразования, это установить где-нибудь OpenSSL и преобразовать нужный вам файл в формат PKCS # 12 с помощью следующей команды. Вам нужно будет разбить файл, полученный от ЦС, на две части, одна из которых содержит блок сертификатов с именем «certificate.txt», а другая - с блоком закрытых ключей с именем «key.txt»:

openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt

Получив файл формата PKCS # 12, вы можете импортировать его в Windows:

  • Откройте MMC («Пуск» -> «Выполнить» -> MMC.exe), затем выберите «Добавить \ удалить оснастку» и добавьте ее в оснастку «Сертификаты».
  • Выберите «Учетная запись компьютера» в качестве контекста.
  • Щелкните правой кнопкой мыши папку «Личные» и выберите «Задачи> Импорт»
  • Найдите созданный вами файл mycertkey.p12 и импортируйте сертификат и закрытый ключ в хранилище сертификатов компьютера.

После установки сертификата вы можете назначить его из IIS (это может немного отличаться в зависимости от версии IIS)

  • Откройте консоль управления IIS и щелкните правой кнопкой мыши домен, которому вы хотите назначить сертификат.
  • Выберите Свойства
  • Выберите вкладку «Безопасность каталога», а затем «Сертификаты сервера»
  • Следуйте указаниям мастера сертификатов, выберите «Далее», затем выберите «Назначить сертификат», а затем снова «Далее».
  • Найдите и выберите сертификат, который вы только что импортировали, и нажмите OK.

Это должно сделать это.

Helvick
источник
спасибо за ваш подробный ответ, но openssl говорит мне: загрузка экрана в случайное состояние - не удалось загрузить закрытый ключ
1
и теперь у меня есть «нет сертификата, совпадающего с закрытым ключом»
1
Возможно, что-то испортилось при разбиении файла формата PEM. Если вы попробуете команду Openssl, используя исходный файл из вашего ЦС в качестве файла -in и -inkey, он также должен работать. Если он может соответствовать паре, он запросит пароль для выходного файла p12.
Хелвик
1
должно быть, я реэкспортировал файл, и это нормально. Большое спасибо за вашу помощь
1
В вашей команде openssl изменение выходного имени файла с mycertkey.p12 на mycertkey.pfx упростит импорт. PFX - это зарегистрированное расширение файла в Windows, для которого можно просто дважды щелкнуть, чтобы запустить мастер импорта сертификатов.
Райан Болджер
1

В этой статье описывается процесс создания запроса на сертификат и его установки после того, как подписывающий орган (GoDaddy, Thawte и т. Д.) Выпустит ваш сертификат.

ThatGraemeGuy
источник
0

Вставленная строка является сертификатом X.509 в кодировке Base64 DER.

Какой формат файла сертификата ожидает IIS? Самая простая попытка - сохранить этот материал в файле .cer и передать его в IIS.

См. Http://en.wikipedia.org/wiki/X.509#Certificate_filename_extensions для получения подробной информации.


источник