Создание одного файла.pem для веб-сервера SSL

Для использования SSL используемому веб-серверу требуется местоположение одного файла.pem (-ssl_cert xyz.pem).

У меня есть сертификат, выданный GoDaddy. Они дали мне файл:

banana.crt

Предыдущий запрос сертификата был создан с использованием сгенерированного мной закрытого ключа

banana.key

Похоже, поиск в Google позволяет предположить, что создать файл.pem так же просто, как объединить их.

кот banana.key banana.crt> banana.pem

К сожалению, запуск сервера с banana.pem и посещение его с Safari говорит мне:

Выдано: Go Daddy Secure Certificate Authority

Этот сертификат был подписан неизвестным органом

Что не так? Я или GoDaddy испортили что-то при создании сертификата, или я должен каким-то образом смешать что-то отсюда с моим файлом.pem?

Я посещаю с полностью обновленной установкой OS X Leopard + Safari.

3 ответа

В зависимости от того, какой тип сертификата у вас есть, перейдите на https://certs.godaddy.com/Repository.go и загрузите соответствующую промежуточную цепочку сертификатов (один из .crt файлы, скорее всего, этот). Вставьте это в свой файл PEM вместе с вашим собственным сертификатом и ключом.

Ваше творение .pem файл в порядке. Если это не так, то HTTP-сервер вряд ли запустится.

Предполагая, что у вас есть корневой сертификат GoDaddy в доверенных сертификатах вашего браузера, то сертификат, который они вам предоставили, называется так называемым "цепочечным" сертификатом. Это означает, что он не был подписан напрямую их корнем. Он подписан промежуточным центром сертификации, который сам по себе подписан корнем.

Чтобы ваш браузер доверял цепочечному сертификату, ему необходимо знать все сертификаты в цепочке. В Apache это достигается с помощью SSLCertificateChainFile директива, которая отправляет другие сертификаты в цепочке клиенту во время процесса рукопожатия SSL.

Вам нужно будет найти замену этой директиве в Mongoose. Руководство не появляется, чтобы указать, как. Вы можете обнаружить, что размещение сертификата (ов) цепи в конце PEM поможет.

Попробуйте сгенерировать файл pem с помощью команды openssl.

Другие вопросы по тегам