Назад | Перейти на главную страницу

Firefox не получает полную цепочку сертификатов

Сервер: Windows 2012 R2 / IIS 8.5 с использованием SNI (виртуальная машина Azure)

У меня установлен SSL-сертификат, который работает во всех браузерах, кроме Firefox и iOS Safari. Цепочка в Chrome и IE выглядит следующим образом:

Baltimore CyberTrust Root
---->XX Public Root Certification Authority
-------->XX Certification Authority
----------->xxx.domain.com

В Firefox и Safari на iOS вы получаете сообщение о том, что сайт не является доверенным, и если вы просматриваете сертификат через Добавить исключение, цепочка выглядит следующим образом:

XX Certification Authority
----->xxx.domain.com

XX Центр сертификации подписал сертификат xx.domain.com. Public Root Certification Authority подписал XX Certification Authority, а CyberTrust подписал Public Root Certification.

Промежуточные сертификаты находятся в хранилище промежуточных центров сертификации на сервере. По какой-то причине Firefox не загружает полную цепочку сертификатов (или сервер не отправляет ее). Я пытался удалить cert8.db в профиле Firefox, и это постоянно происходило на чистых машинах.

Я протестировал свой домен на sslshopper.com и ssllabs.com. Они не сообщают об ошибках и не сообщают, что все промежуточные сертификаты установлены правильно.

Они не сообщают об ошибках и не сообщают, что все промежуточные сертификаты установлены правильно.

Описанные вами симптомы сильно противоречат этому утверждению. Chrome (и IE?) Самостоятельно загружает отсутствующие промежуточные сертификаты, в то время как Firefox и большинство мобильных приложений этого не делают. SSLLabs не будет отмечать эти промежуточные сертификаты как отсутствующие, но они помечаются как «Дополнительная загрузка».

Если это действительно не так, проверьте, включены ли на вашем сервере IPv4 и IPv6, а также отличается ли настройка IPv6. SSLLabs не проверяет настройку IPv6. Если IPv6 будет использоваться, это зависит от ОС, возможностей подключения и предпочтений браузера, поэтому это также может объяснить такие различия. Другими отличиями в этой области являются разные IP-адреса сервера в зависимости от местоположения или разных тестов, т.е. иногда www.example.com а иногда только example.com.

После долгих проб и ошибок я наконец смог это исправить. Я не знаю точно, что это исправило, но я продолжал загружать несколько промежуточных сертификатов из моего центра сертификации. Хотя я загрузил промежуточные сертификаты, которые соответствуют цепочке сертификатов по имени, похоже, что по серийному номеру они не совпадают. Наконец я нашел комбинацию, которая понравилась Firefox и iOS Safari. Тем не менее, SSL Labs так и не показала дополнительную загрузку.