Я установил закрытый ключ (в кодировке pem) и сертификат открытого ключа (в кодировке pem) на Amazon Load Balancer. Однако, когда я проверяю SSL с помощью инструмент для тестирования сайта, Я получаю следующую ошибку:
Ошибка при проверке сертификата SSL !! Не удалось получить сертификат местного эмитента. Не удалось найти эмитента сертификата, найденного локально. Обычно это означает, что не все промежуточные сертификаты установлены на сервере.
Я преобразовал файл crt в pem, используя эти команды из этого руководство:
openssl x509 -in input.crt -out input.der -outform DER
openssl x509 -in input.der -inform DER -out output.pem -outform PEM
Во время настройки Amazon Load Balancer единственным вариантом, который я оставил, была цепочка сертификатов. (в кодировке pem) Однако это было необязательно. Может ли это быть причиной моей проблемы? И если так; Как создать цепочку сертификатов?
ОБНОВИТЬ
Если вы сделаете запрос в VeriSign, они предоставят вам цепочку сертификатов. Эта цепочка включает общедоступный CRT, промежуточный CRT и корневой CRT. Обязательно удалите общедоступный crt из своей цепочки сертификатов (который является самым верхним сертификатом), прежде чем добавлять его в поле цепочки сертификации вашего Amazon Load Balancer.
Если вы выполняете HTTPS-запросы из приложения Android, приведенная выше инструкция может не работать для более старых ОС Android, таких как 2.1 и 2.2. Чтобы он работал на более старых ОС Android:
Если вы используете сертификаты географического доверия, решение для устройств Android во многом такое же, однако вам необходимо скопировать и вставить их промежуточные сертификаты для Android.
объедините файлы, предоставленные вручную, в следующем порядке:
вы можете сделать это из оболочки с cat
команда
cat site.com intermediate.crt ROOT.crt > site.chain.pem
или скопируйте / вставьте их, без пробелов между ними, убедитесь, что сертификаты находятся в разных строках
-----BEGIN CERTIFICATE-----
site cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
У меня были проблемы с моим сертификатом quick-ssl; согласно
Я мог бы исправить это, изменив сертификаты в пакете CA:
Проблема
При установке SSL-сертификата в Amazon Web Service (AWS) - устройство Amazon EC2 вы можете получить следующее сообщение об ошибке.
Ошибка: недействительный сертификат открытого ключа. Причина Эта проблема может возникнуть на Amazon Web Service (AWS) - устройстве Amazon EC2, если выполняется любое из следующих условий.
RapidSSL Intermediate CA bundle certificate is not installed on Amazon Web Service (AWS) - > Amazon EC2 device RapidSSL Intermediate CA bundle certificate is installed on Amazon Web Service (AWS) - Amazon > EC2 device but the CA bundle required needs to be installed in reversed order
разрешение
Чтобы устранить ошибку при установке сертификата RapidSSL с помощью Amazon Web Service (AWS) - устройства Amazon EC2, выполните следующие действия.
Шаг 1. Загрузите сертификат пакета промежуточного ЦС
Чтобы загрузить сертификат пакета промежуточного ЦС, см. Статью AR1548.
При просмотре пакета CA вы увидите два сертификата, расположенные друг над другом. Эти два сертификата нужно будет поменять местами. Верхний сертификат необходимо разместить внизу, а нижний сертификат - вверху.
...
Мне пришлось пройти через ту же проблему. Просто загрузив pem-файл со следующим, похоже, решит проблему. Не понравился сертификат сайта вверху
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
Для сертификатов, выданных Comodo
Private Key: private_key.text
Public Key Certificate: yourdomain.crt
Certificate Chain: combine these 2
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > certchain.txt
(or paste in COMODORSADomainValidationSecureServerCA.crt first followd by COMODORSAAddTrustCA.crt)
Я тоже приобрел сертификат RapidSSL и боролся с ошибкой «Недействительный сертификат открытого ключа». Я пробовал все, что здесь перечислено, включая реверсирование цепных сертификатов, их пропуск, добавление к сертификату основного сервера и т. Д.
В конце концов, я просто не мог заставить ошибку исчезнуть. Итак, я нашел другой способ загрузить сертификат в Amazon для использования с Load Balancer (Elastic Beanstalk): на самом деле существует графический интерфейс, который позволяет загружать сертификаты!
Он находится в EC2 -> Балансировщики нагрузки -> Выберите свой балансировщик нагрузки -> Listnerers (вкладка) -> Выберите HTTPS в раскрывающемся меню -> Нажмите Выбрать на вкладке сертификата SSL, и появится форма, позволяющая загрузить сертификат!
Как только я вставил туда файлы, все заработало как шарм!