"Сертификат открытого ключа и закрытый ключ не совпадают" при использовании сертификата Godaddy
Я пытаюсь установить сертификат SSL GoDaddy на новый балансировщик нагрузки, который я настраиваю на Amazon AWS. Я изначально создал сертификат в Godaddy, используя программу keytool для непосредственной установки на сервере Glassfish 3.1 (Amazon linux ami). У меня не было проблем с настройкой непосредственно на сервере. Теперь мне нужно переместить сертификат с веб-сервера на новый балансировщик нагрузки. Amazon требует, чтобы закрытый ключ и сертификаты были в формате PEM, поэтому я использовал инструмент "rekey" в GoDaddy для создания новых сертификатов. Когда я загружаю те, которые находятся на экране настройки балансировки нагрузки на консоли AWS Mgmt, я получаю сообщение об ошибке: "Сертификат открытого ключа и закрытый ключ не совпадают".
Вот как я создаю ключи:
$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr
Затем я отправляю файл .csr в GoDaddy во время процесса "rekey". Как только ключ завершен, я загружаю 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, но я не уверен, как это проверить.
Любые идеи?
Ответы
Ответ 1
Похоже, проблема заключалась в том, как я копировал содержимое ключа и сертификатов в консоль управления AWS. Я использовал рабочий стол Ubuntu в Virtual Box на рабочем столе Windows 7; копировать и вставлять значения с экрана gedit в браузер, работающий в окне Windows. Как только я открыл файлы ключей и сертификатов в том же поле, что и веб-браузер (в этом случае Windows), сертификаты прошли отлично. Я предполагаю, что некоторые части файла не исправляют его при использовании общей платы кликов между клиентом и хостом Virtual Box. Дело закрыто.
Ответ 2
Для меня это был простой двухэтапный шаг:
Ответ 3
Только для записи и любого другого, кто пытается понять это:
yourdomain.key → команда терминала: sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem
- > закрытый ключ
yourdomain.crt → открытый ключ
gd_bundle.crt → цепочка сертификатов
и вам хорошо идти:)
Ответ 4
Мы нашли альтернативное решение этой проблемы. У нас были те же симптомы с той же ошибкой.
Затем мы попытались снова ввести коды pem еще раз, но на этот раз мы обязательно попали в один раз и убедитесь, что курсор находится на пустой строке в конце каждого окна. Тогда мы его сохранили.
ЭТО РАБОТАЕТ.
Это решило нашу проблему, поэтому оно может решить ее для других.
Ответ 5
Одна маленькая добыча. Я использую окно Windows (Win 7 Pro), и когда я использовал порт Windows OpenSSL, выведенные файлы имели символы конца строки Unix (LF).
Мне пришлось преобразовать файл в стиль Windows (CRLF) для загрузки закрытого ключа.
Ответ 6
Я могу предложить вам альтернативное решение и информацию для вас.
Как правило, все сертификаты имеют формат файла PEM. Вы можете просто открыть блокнот или любой текстовый редактор и перетащить файлы, которые вы получили в формате .crt. Обычно это называется файлом .PEM. Если сертификат, загруженный в ваш keytool, вы можете экспортировать сертификат в виде файла pfx из keytool. Затем вы можете отделить файл pfx от закрытого ключа из файла pfx. Поскольку файл pfx представляет собой комбинацию вашего сертификата и закрытого ключа. Таким образом, вы можете получить отдельно файл секретного ключа и использовать его на своих амазонках aws.
Я подозреваю, что может быть другой способ установить сертификат. Возможно, вы можете обратиться в центр сертификации и есть ли способ вернуть ваш сертификат для повторного использования.