1

Я управляю небольшой компанией и, к сожалению, моя ИТ-поддержка просто перестала работать. Я управляю сайтом на GAE. Срок действия моего SSL истек, и я заказал новый, получив следующие файлы:

  • 3 .cer файлы в папке SHA-1
  • 3 .der файлы в папке SHA-2
  • файл csr.txt
  • файл privatekey.txt

Мне нужно загрузить в Google App Engine, который запрашивает:

  • сертификат X509 в кодировке PEM
  • незашифрованный PEM-закодированный закрытый ключ RSA

Я работаю на Mac OS. Я попытался использовать openssl и, похоже, сгенерировал файл private.pem из источника privatekey.txt, но когда я запускаю команду openSSL для файла csr.txt, я получаю:

$ openssl x509 -in csr.txt -out public.pem
unable to load certificate
23137:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/
  OpenSSL098-52.8.1/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

Файл csr.txt начинается с -----BEGIN CERTIFICATE----- и заканчивается -----END CERTIFICATE----- с указанным ключом.

1 ответ1

0

Эта команда не будет работать: openssl x509 -in csr.txt -out public.pem . Вам необходимо сгенерировать запрос на подпись или CSR.

Чтобы создать новый запрос на подпись, выполните следующие действия:

openssl req -key privatekey.txt -keyform PEM -days 365 -out example-com.req.pem

Более подробные инструкции смотрите в разделе Как легко создать сертификат SSL и настроить его в Apache2 в Mac OS X? Сосредоточьтесь на КСО и не слишком переживайте о таких вещах, как Apache.

Вы можете проверить запрос на подпись с:

openssl req -in example-com.req.pem -text -noout

Там нет требований к именованию. Я случайно использую site.type.encoding. Вот некоторые примеры:

  • example-com.req.pem - подписать запрос для example.com в формате PEM
  • example-com.req.der - подписать запрос для example.com в формате DER
  • example-com.cert.pem - сертификат для example.com в формате PEM
  • example-com.cert.der - сертификат для example.com в формате DER

Это может быть предметом спора, но ... НЕ создавайте новый ключ. Скорее используйте существующий ключ, пока он не был скомпрометирован.

Непрерывность ключа является более желательным свойством безопасности, чем поворот ключа. Непрерывность ключей также хорошо работает с RFC 7469, закрепление открытого ключа хоста для HTTP. Если вы генерируете новый ключ, вы фактически ломаете хороший набор выводов, используемый HPKP и другими схемами закрепления.

В зависимости от вашего состояния безопасности, вы можете считать существующий ключ потенциально скомпрометированным из-за того, что старый ИТ-администратор ушел. Если это так, то сгенерируйте новую пару ключей.


Также вы можете получить бесплатные сертификаты сервера Class 1 от StartCom и CAcert. Я знаю, что сертификатам StartCom доверяют большинство (все?) настольные и мобильные браузеры.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .