Я пытаюсь установить SSL-сертификат GoDaddy на новый балансировщик нагрузки, который я настраиваю на Amazon AWS. Первоначально я создал сертификат в Godaddy с помощью программы keytool для прямой установки на сервере Glassfish 3.1 (Amazon linux ami). У меня не было проблем с установкой прямо на сервере. Теперь мне нужно переместить сертификат с веб-сервера на новый балансировщик нагрузки. Amazon требует, чтобы закрытый ключ и сертификаты были в формате PEM, поэтому я использовал инструмент «смены ключей» в GoDaddy для создания новых сертификатов. Когда я загружаю их на экране настройки балансировщика нагрузки в консоли AWS Mgmt, я получаю сообщение об ошибке: «Сертификат открытого ключа и закрытый ключ не совпадают».
Вот как я создаю ключи:
$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr
Затем я отправляю файл .csr в GoDaddy во время процесса смены ключей. После завершения смены ключа я загружаю 2 вновь созданных сертификата (apps.mydomain.com.crt и gd_bundle.crt). Я загружаю их, выбирая (Apache) в качестве типа сервера (я также пробовал «другой» и «Cpanel», но все они выглядят одинаково).
На этом этапе я удаляю шифрование из файла private.key, используя следующую команду:
$ openssl rsa -in private.key -out private.pem
На этом этапе я возвращаюсь в консоль AWS Mgmt, создаю балансировщик нагрузки, добавляю защищенное перенаправление сервера и помещаю содержимое следующих файлов в соответствующие поля на экране, где он запрашивает настройку сертификата ssl:
private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain
Когда я нажимаю кнопку «продолжить», я получаю сообщение об ошибке «Ошибка: сертификат открытого ключа и закрытый ключ не совпадают».
-Есть ли способ проверить, что я получаю действительное сообщение об ошибке от Amazon? Мне кажется странным, что ключи не совпадают, когда я очень внимательно следую инструкциям GoDaddy.
Я пробовал создать файл private.key без шифрования RSA перед созданием .csr, и это, похоже, не имеет никакого значения.
Я также предполагаю, что файлы .crt, которые я загружаю с GoDaddy, имеют формат .PEM, но я не знаю, как это проверить.
Любые идеи?
Ответы:
Для меня это было два простых шага:
Преобразуйте закрытый ключ в PEM:
openssl rsa -in yourdomain.key -outform PEM
Преобразуйте сертификат и комплект сертификатов в PEM :
openssl x509 -inform PEM -in yourdomain.crt
openssl x509 -inform PEM -in bundle.crt
источник
WARNING: can't open config file: /etc/pki/tls/openssl.cnf
-config
тоже имеют опцию. Используйте его, чтобы указать путь к используемому вами файлу конфигурации.Просто для протокола и всех, кто пытается в этом разобраться:
yourdomain.key -> команда терминала:
sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem
-> закрытый ключyourdomain.crt -> открытый ключ
gd_bundle.crt -> цепочка сертификатов
и тебе хорошо :)
источник
Похоже, проблема заключалась в том, как я копировал содержимое ключа и сертификатов в консоль управления AWS. Я использовал рабочий стол Ubuntu, работающий в Virtual Box, на рабочем столе Windows 7; скопируйте и вставьте значения из экрана gedit в браузер, работающий в окне Windows. Как только я открыл файлы ключей и сертификатов в том же окне, что и веб-браузер (в данном случае Windows), сертификаты прошли нормально. Я предполагаю, что некоторые части файла не перерабатываются правильно при использовании общего буфера обмена между клиентом Virtual Box и хостом. Дело закрыто.
источник
Мы нашли альтернативное решение этой проблемы. У нас были те же симптомы с той же ошибкой.
Затем мы попытались повторно ввести коды pem еще раз, но на этот раз мы убедились, что нажимаем Enter один раз и проверяем, что курсор находится на пустой строке в конце каждого окна. Потом мы его сохранили. ЭТО СРАБОТАЛО.
Это решило нашу проблему, поэтому может решить ее для других.
источник
Одна маленькая ошибка. Я использую окно Windows (Win 7 Pro), и когда я использовал порт OpenSSL для Windows, в выводимых файлах были символы конца строки (LF) в стиле Unix.
Мне пришлось преобразовать файл в стиль Windows (CRLF) для загрузки закрытого ключа.
источник
Я могу предложить вам альтернативное решение и информацию для вас, ребята. Как правило, все сертификаты имеют формат файла PEM. Вы можете просто открыть блокнот или любой текстовый редактор и перетащить полученные файлы в формате .crt. Который обычно называется файлом .PEM. Если сертификат загружен в ваш keytool, вы можете экспортировать сертификат как файл pfx из keytool. Затем вы можете отделить файл pfx от закрытого ключа от файла pfx. Поскольку файл pfx представляет собой комбинацию вашего сертификата и закрытого ключа, вы можете получить отдельно файл закрытого ключа и использовать его на своем amazon aws.
Я подозреваю, что может быть другой способ установить сертификат. Возможно, вы можете связаться с центром сертификации и узнать, есть ли способ перевыпустить сертификат.
источник