Получение файла CSR для SSL в экземпляре AWS Windows

Мне нужно получить CSR, чтобы завершить заказ SSL на godaddy.com. У меня есть Windows 2012, работающая в экземпляре Amazon AWS. Сервер Express.js.

Домен указывает на этот IP-адрес экземпляра, и все работает нормально.

Я полагаю, мне нужно создать этот ключ из консоли или чего-то подобного. Проблема в том, что я никогда этого не делал, и у меня вообще нет места для ошибки.

Как бы я поступил?


person Wexoni    schedule 13.08.2014    source источник


Ответы (1)


Мне нужно получить CSR... Как мне это сделать [создать CSR]?

Поскольку вы используете Windows, я бы скачал и установил Win32 OpenSSL компании Shining Light. Это готовый OpenSSL для платформы Windows.

Затем я бы выдал следующую команду. Он создает новый ключ и одним махом генерирует запрос на подпись:

openssl req -config example-com.conf -new -newkey rsa:2048 -nodes \
    -keyout example-com.key.pem -days 365 -out example-com.req.pem

Обратите внимание, что есть файл конфигурации: example-com.conf. Файл конфигурации позволяет вам делать такие вещи, как установка общего имени и установка альтернативных имен субъекта. Вы можете найти этот файл конфигурации по адресу Сертификат с расширенным использованием ключа работает только в Firefox.

После создания CSR отправьте example-com.req.pem на подпись.

Примечание: вы можете не получить все, что указали в CSR. Центр сертификации должен проверить информацию, скорректировать ваш запрос, а затем выдать сертификат. Например, если вы отметите CA:true, то ваш CSR, вероятно, будет изменен или отклонен, потому что ЦС не хочет, чтобы вы выпускали сертификаты.

Если ваш экземпляр Box AWS представляет собой образ Windows, вам потребуется создать PFX и импортировать его в соответствующее хранилище доверенных сертификатов. Вот как вы создаете PFX.

Что у тебя есть:

  • example-com.cert.pem (подписанный сертификат, закодированный PEM)
  • example-com.key.pem (закрытый ключ, закодированный PEM)
  • ca-intermediate-cert.pem (подчиненный ЦС, закодированный PEM)

Что вам не нужно:

  • example-com.req.pem (CSR, поскольку у вас есть подписанный сертификат)
  • ca-root-cert.pem (корневой сертификат CA)

Вам нужно ca-intermediate-cert.pem, потому что сервер должен отправить его с сертификатом сервера. Отправка всех необходимых промежуточных сертификатов позволяет избежать проблемы «какой каталог». Это хорошо известная проблема в PKI, и это означает, что клиент не знает, где искать отсутствующий промежуточный сертификат (должен ли он обратиться к Verisign или к Digicert и т. д.). Однако вы не отправляете ca-root-cert.pem, потому что клиент уже должен иметь его и доверять ему.

Сначала объедините сертификаты:

cat example-com.cert.pem > example-com.chain.pem
cat ca-intermediate-cert.pem >> example-com.chain.pem

Во-вторых, создайте PFX с учетом цепочки и ключа:

openssl pkcs12 -export -in example-com.chain.pem -inkey example-com.key.pem \
    -nodes -out example-com.chain.p12

В-третьих, установите его в хранилище доверия. См., например, Импорт сертификата сервера (IIS 7) в MSDN.

У Amazon, вероятно, есть где-то подобные инструкции.

person jww    schedule 13.08.2014
comment
Удивительный ответ. Я попробую как можно скорее и сообщу о прогрессе здесь. - person Wexoni; 14.08.2014