Как установить промежуточные сертификаты (в AWS)?

22

Я установил закрытый ключ (в кодировке 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 из цепочки сертификатов (который является самым верхним сертификатом), прежде чем добавлять его в блок цепочки сертификации вашего Amazon Load Balancer.

Если вы делаете HTTPS-запросы из приложения Android, приведенная выше инструкция может не работать для более старых ОС Android, таких как 2.1 и 2.2. Чтобы заставить его работать на старых ОС Android:

  • иди сюда
  • Перейдите на вкладку «Retail ssl», а затем нажмите «Безопасный сайт»> «CA Bundle для Apache Server».
  • скопируйте и вставьте эти промежуточные сертификаты в цепочку сертификатов. просто, если вы не нашли его здесь, это прямая ссылка .

Если вы используете сертификаты Geo Trust, то решение для устройств Android практически не отличается, однако вам необходимо скопировать и вставить их промежуточные сертификаты для Android.

getmizanur
источник
Промежуточный сертификат == Цепной сертификат
Chris S
спасибо @chris, можете ли вы сказать мне, как я могу создать цепной сертификат. Я пробовал поискать в Google, но я действительно не понимаю, как создать этот сертификат. Любые предложения или ссылки на учебник высоко ценится
getmizanur
@getmizanur Откуда этот сертификат? Поставщик CA должен предоставить вам цепочку, закодированную PEM.
Шейн Мэдден

Ответы:

21

объединить файлы, предоставленные вручную, в следующем порядке:

  • site.com.crt
  • middle.crt (один или несколько, порядок их значения не имеет)
  • ROOT.crt

Вы можете сделать это из оболочки с помощью 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-----
Эрик Фортис
источник
спасибо @eric, у меня есть только два файла с подписью .crt и .key. Можете ли вы сказать мне, как я могу получить промежуточные и корневые файлы CRT?
getmizanur
3
связать сертификат сайта с этими промежуточными продуктами без корневого сертификата.
Эрик Фортис
@EricFortis Если для балансировщика нагрузки AWS требуется отдельный файл сертификата и файл цепочки, он может просто захотеть получить промежуточный (ие) и корневой каталог без сертификата субъекта - не уверен!
Шейн Мэдден
7

У меня были проблемы с моим сертификатом quick-ssl; согласно

https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO21856&actp=search&viewlocale=en_US&searchid=1368427636740

Я мог бы исправить это, поменяв сертификаты в комплекте 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: Загрузите промежуточный сертификат CA Bundle

Чтобы загрузить промежуточный сертификат пакета CA, обратитесь к статье AR1548

При просмотре комплекта CA вы увидите два сертификата, расположенные друг над другом. Эти два сертификата нужно будет переключить. Верхний сертификат должен быть размещен снизу, а нижний сертификат должен быть размещен сверху.

...

notalifeform
источник
обратные сертификаты в моем файле ca-bunle работали как шарм. Благодарность!
Мехмет Фатих Йылдыз
Это. Это правильный ответ. Вы мне очень помогли.
Андрей
5

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

-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
Sthal
источник
2
Ваш ответ не очень понятен, но выглядит очень похоже на уже предоставленный и принятый. Это действительно другой ответ на вопрос?
Тонин
этот ответ работал для меня. Я последовал принятому ответу, включив сертификат сайта, но это не сработало. Просто поместив промежуточный сертификат и корневой сертификат, как упомянуто в этом ответе, работало замечательно!
user1258600
4

Для 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) 
appsmatics
источник
0

Я также купил сертификат RapidSSL и борюсь с ошибкой «Недействительный сертификат открытого ключа». Я перепробовал все перечисленное здесь, в том числе реверсирование сертификатов цепочки, пропуск их, добавление их в сертификат основного сервера и т. Д ...

В конце концов, я просто не мог заставить ошибку уйти. Поэтому я нашел другой способ загрузить сертификат в Amazon для использования с Load Balancer (Elastic Beanstalk): на самом деле есть графический интерфейс, который позволяет загружать сертификаты!

Он находится в EC2 -> Балансировщики нагрузки -> Выберите балансировщик нагрузки -> Списки рассылки (вкладка) -> Выберите HTTPS в раскрывающемся меню -> Нажмите «Выбрать» на вкладке «Сертификат SSL», и появится всплывающая форма, позволяющая загрузить сертификат!

графический интерфейс пользователя

Как только я вставил туда файлы, это сработало как шарм!

Элад Нава
источник
Также убедитесь, что вы пытаетесь загрузить «Закрытый ключ RSA». stackoverflow.com/questions/17733536/…
Elad Nava