Comodo SSL: ERR_CERT_AUTHORITY_INVALID на мобильных устройствах Chrome и Opera (Android)
В некоторых мобильных браузерах, таких как Chrome mobile для Android, я получаю ошибку ERR_CERT_AUTHORITY_INVALID, когда я подключаюсь к сайту https.
У меня нет этой проблемы для всех мобильных браузеров (например, Firefox), и на ПК нет проблем.
Мой сертификат - сертификат расширенной проверки Comodo.
Я заключу контракт с Gandi.net, французским сертификационным центром SSL, и Gandi отвечает за получение сертификата Comodo EV и предоставление его мне.
Ганди дал мне базовый сертификат PEM + промежуточный сертификат PEM. Я установил оба.
Я сделал анализ https://www.ssllabs.com/ssltest/analyze.html, и он говорит "дополнительная загрузка" для одного из сертификатов (именуемого "Центр сертификации COMODO RSA",), пока я установил все сертификаты, которые я получил от Gandi.
Я попытался изучить эту тему, но это не помогло:
SSL cert "err_cert_authority_invalid" только на мобильном хром
Кто-нибудь знает, что не так? Спасибо.
Ответы
Ответ 1
Для тех, кого интересует здесь, я решил проблему.
Проблема: в моей цепочке сертификатов отсутствовал промежуточный сертификат Comodo. Мой центр сертификации SSL (Gandi.net) отвечал за отношения с Comodo, и Gandi дал мне два сертификата: базовый сертификат + промежуточный сертификат. Оба были в формате .pem. Я установил оба, и этого было достаточно для почти любого браузера, за исключением нескольких мобильных браузеров. На самом деле отсутствовал промежуточный сертификат Comodo под названием "Центр сертификации COMODO RSA".
Решение в 2 этапа:
1) нашел репозиторий, содержащий все сертификаты Comodo здесь https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/620/0/which-is-root-which-is-intermediate. Я копирую в шахматном формате в формате .PEM с этой страницы https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/977/108/extended-validation-sha-2 (здесь он называется "# промежуточным", а не "COMODO RSA Certification Authority",).
2) связал этот новый промежуточный сертификат с первым промежуточным сертификатом, который у меня уже был (так называемый "# промежуточным2" на веб-сайте Comodo), поместив этот новый сертификат в конец первого сертификата. Я сделал это следующим образом:
-----BEGIN CERTIFICATE-----
intermediate#2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate#1
-----END CERTIFICATE-----
Надеюсь, это поможет!
Ответ 2
Я размещаю свой сайт под nginx, и у меня также была такая же проблема с моим приложением для Android. Вышеуказанный принятый ответ направил меня на мое решение:
Когда я получил сертификат (my-domain.crt), я создал файл crl с ограничением, который был сгенерирован путем объединения моего сертификата с ComodoRSADomainCA и ComodoRSAAddTrustCA Содержание PEM
cat my-domain.crt ComodoRSADomain.crt ComodoRSAAddTrustCA.crt > ssl-boundle.crt
Когда я связал ssl-boundle.crt с nginx, у клиентов не было проблем с обменом данными. А также я получил этот хороший результат на ssllabs:
:)
Ответ 3
Цепочка сертификатов является неполной. "Дополнительная загрузка" подтвердит это.
Вы должны отправить цепочку, включая отсутствующий сертификат, указанный ssllabs.
Обратите внимание, что связь работает большую часть времени, поскольку браузеры хранят кеш в сертификатах.
Ответ 4
После создания пакета, если проблема сохраняется, в моем случае были некоторые дополнительные пробелы в конце .pem, а Chrome - как незащищенные, а на Firefox - хорошо. После того, как я удалю их, все будет хорошо, надеюсь, что это поможет кому-то.