Я установил закрытый ключ (в кодировке 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.