Назад | Перейти на главную страницу

Heroku SSL: Pem недействителен / ключ не соответствует сертификату Pem

Я купил SSL-сертификат Gandi.net и слежу за этим руководство.

  1. Я создал ключевой файл.
  2. затем преобразовал его в CSR
  3. затем добавил его на сайт Ганди и стал ждать CRT.
  4. затем удалил пароль из ключа ===> результат: [FINAL KEY]
  5. затем объединили CRT и FINAL KEY в один файл ==> результат: [FINAL PEM]
  6. затем heroku ssl: добавьте final_pem final_key --app app_name

и ... получено, что Pem недействителен / ключ не соответствует сертификату Pem.

Я пробовал 3 раза и действительно не знаю, что происходит.

Вы можете помочь ?

Не знаю, актуально ли это больше, но у меня были похожие проблемы с использованием Heroku SSL Endpoint, и в итоге я написал об этом сообщение в блоге:

http://starvingdeveloper.wordpress.com/2012/09/18/comodo-ev-ssl-with-heroku-if-you-did-it-wrong-the-first-time/

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

TL; DR => при использовании Heroku SSL Endpoint убедитесь, что вы включили весь пакет, и убедитесь, что содержимое этого пакета находится в правильном порядке. Попробуйте Heroku SSL doctor, если у вас возникли проблемы.

Думаю, я мог столкнуться с подобной проблемой при попытке использовать сертификат Gandi на Heroku. Heroku продолжал жаловаться, что мой файл PEM не соответствует моему ключу, и запустил openssl x509 -noout -modulus -in example.com.crt дал мне "unable to load certificate" ошибка.

Проблема в моем случае была очень простой: когда я скачал сертификат от Ганди, между текстом сертификата и строкой «--END CERTIFICATE ...» была дополнительная пустая строка:

ghjg86GHHJ47Nmmmaiuoj8bUW8bbn/9w78sTxuguHQWjhuhuQWQhuybyyA==

-----END CERTIFICATE-----

Когда я удалил пустую строку, все заработало отлично:

ghjg86GHHJ47Nmmmaiuoj8bUW8bbn/9w78sTxuguHQWjhuhuQWQhuybyyA==
-----END CERTIFICATE-----

Я думаю, что когда вы создаете окончательный файл PEM, вы хотите объединить свой сертификат и сертификат вашего CA, а не свой сертификат и свой закрытый ключ:

cat example.com.crt certificate-issuer.com.pem > example.com.pem

Наконец я нашел http://blog.bloom.io/2011/09/16/https-ssl-table-stakes/ очень помогает со всем процессом.

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