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

sec_error_unknown_issuer, но только с Firefox и IE6

Я недавно обновил сертификат SSL на своем сайте, и, хотя изначально казалось, что сертифицированный установлен правильно, я был шокирован, обнаружив несколько часов назад, что соединение HTTPS больше не аутентифицируется правильно с некоторыми браузерами и версиями.

В настоящее время он выполняет проверку подлинности в следующих браузерах:

Но он НЕ аутентифицируется должным образом с помощью:

Сертификат имеет путь к сертификату GeoTrust Global CA > RapidSSL CA > secure.mydomain.com.

Что могло бы объяснить эту проблему? Это проблема с установкой? Проблема с браузером? Проблема с сертификатом?

Как мне решить эту проблему?

У меня была такая же проблема - купил базовый сертификат SSL (от Network Solutions), установил его под nginx, и он отлично работал как в Opera, так и в IE, но не в Firefox 3.6.12. Вот как я решил проблему. Обратите внимание, что у меня есть доступ root / shell к моему VPS, я не знаю, есть ли у вас (по крайней мере, это может указать вашим провайдерам в правильном направлении).

Первым шагом в поиске решения было использование Qualys (согласно этот другой ответ). Он сказал мне, что цепь была неполной.

Во-вторых, я использовал OpenSSL для тестирования / отладки. Предполагая, что у вас есть доступ к оболочке, вы можете выполнить команду (q или CTRL-C для отключения):

openssl s_client -connect mysite.com:443

и вы, вероятно, увидите ошибку «не удается получить сертификат местного эмитента». Это также способ проверить, работает ли он в оболочке без запуска Firefox.

Цепочки сертификатов SSL

Некоторые браузеры могут пожаловаться на сертификат, подписанный известным центром сертификации, в то время как другие браузеры могут принять сертификат без проблем. Это происходит из-за того, что выдающий орган подписал сертификат сервера с помощью промежуточного сертификата, которого нет в базе сертификатов известных доверенных центров сертификации, которая распространяется с конкретным браузером. В этом случае орган предоставляет пакет связанных сертификатов который должен быть присоединен к подписанному сертификату сервера. Сертификат сервера должен появиться перед связанные сертификаты в объединенном файле

Конфигурация Nginx

В моем случае я получил три файла от Network Solutions - mysite.com.crt, AddTrustExternalCARoot.crt, и NetworkSolutionsDVServerCA.crt. Не было связка файл, но можно создать один из других сертификатов. После некоторых проб и ошибок я обнаружил, что мне нужно:

$ cat mysite.com.crt NetworkSolutionsDVServerCA.crt > mysite.com.chain.crt

Последним шагом было перенастроить мой сервер nginx с новым файлом:

server {
    listen       443;
    ssl          on;
    ssl_certificate        /etc/ssl/certs/mysite.com.chain.crt;
    ssl_certificate_key    /etc/ssl/private/mysite.com.key;

    server_name  mysite.com;
    # and so on
}

После получения нужных сертификатов в комплекте и перезапуска nginx, openssl не сообщал об ошибках, Firefox получил страницу без проблем, а Qualys сообщила, что цепочка действительна.

Конфигурация Apache

Поскольку вы используете Apache, вам (или вашим провайдерам) необходимо настроить его для SSL с правильным расположением файлов, одно из которых отсутствует средний цепной файл:

<VirtualHost 192.168.0.1:443>
    DocumentRoot /var/www/html2
    ServerName www.yourdomain.com
    SSLEngine on
    SSLCertificateFile /path/to/your_domain_name.crt
    SSLCertificateKeyFile /path/to/your_private.key
    SSLCertificateChainFile /path/to/DigiCertCA.crt
</VirtualHost>

Попробуйте выполнить следующие тесты в своем домене:

Qualys: https://www.ssllabs.com/ssldb/index.html

DigiCert: http://www.digicert.com/help/

Я считаю, что оба очень удобны для устранения случайных проблем с сертификатами SSL.

Сертификат может содержать специальный Доступ к информации о полномочиях расширение (RFC-3280) с URL-адресом сертификата эмитента. Большинство браузеров могут использовать расширение AIA для загрузки отсутствующего промежуточного сертификата для завершения цепочки сертификатов. Но некоторые клиенты (старые и мобильные браузеры, OpenSSL) не поддерживают это расширение, поэтому они сообщают о таком сертификате как о ненадежном.

Вы можете решить неполная цепочка сертификатов вручную, объединив все сертификаты от сертификата до доверенного корневого сертификата (исключительно в этом порядке), чтобы предотвратить такие проблемы. Обратите внимание: доверенного корневого сертификата там не должно быть, так как он уже включен в хранилище корневых сертификатов системы.

Вы должны иметь возможность получать промежуточные сертификаты от издателя и объединять их самостоятельно. Я написал сценарий для автоматизации процедуры, он перебирает расширение AIA для вывода правильно связанных сертификатов. https://github.com/zakjan/cert-chain-resolver

Я использую это для Nginx и StartSSL, ему тоже нужен класс CA:

cat ssl.pem ca.pem sub.class1.server.ca.pem> server.pem

или

cat ssl.pem ca.pem sub.class2.server.ca.pem> server.pem

(согласно вашему классу)

У меня была такая же проблема с этими сообщениями об ошибках, шаги, которые я сделал, заключались в очистке кеша, добавлении безопасности в Интернете к надежному веб-сайту. у меня вроде ничего не работает ..

потом я нашел этот очень информативный сайт, такой простой и понятный ..

Решение 3. С этого сайта https://www.errorsolutions.tech/error/firefox-error-code-sec_error_unknown_issuer/