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

Firefox не загружает цепочку сертификатов

я бегу lighttpd/1.4.28 (ssl) на Debian Squeeze. Я только что создал http://startssl.com сертификат, я нормально работаю во всех моих браузерах (Firefox, Chrome, Opera), но мои пользователи сообщают об ошибках сертификатов в Firefox. Я уже приколол это к сбою загрузки цепочки сертификатов:

Сертификат в моем Firefox: http://i.stack.imgur.com/moR5x.png
Сертификат у других Firefox: http://i.stack.imgur.com/ZVoIu.png (Обратите внимание на отсутствующие здесь StartCOM-сертификаты)

Я следовал этому руководству по внедрению сертификата в свой lighttpd: https://forum.startcom.org/viewtopic.php?t=719

Соответствующие части моего lighttpd.conf выглядят так:

$SERVER["socket"] == ":443" {
        ssl.engine = "enable"
        ssl.ca-file = "/etc/lighttpd/certs/ca-bundle.pem"
        ssl.pemfile = "/etc/lighttpd/certs/www.bisaboard.crt"
}

ca-bundle.pem был создан следующим образом: cat ca.pem sub.class1.server.ca.pem > ca-bundle.pem
Я взял отсюда соответствующие файлы: http://www.startssl.com/certs/

www.bisaboard.crt был создан так: cat certificate.pem ssl.key > www.bisaboard.crt
Где certificate.pem - это мой сертификат StartSSL-Class1, а ssl.key - мой SSL-Root-Key.

Вы знаете, почему второй Firefox неправильно загружает цепочку сертификатов?

Ваш веб-сервер, похоже, неправильно отображает промежуточные сертификаты, причина, по которой он работает в вашем собственном браузере, вероятно, заключается в том, что вы сами скачали и установили их локально.

Почему бы вам просто не загрузить пакет CA, который они уже подготовили для вас, на http://www.startssl.com/certs/ca-bundle.crt и используйте это для ssl.ca-file вариант?

Firefox, как известно, строго следит за проверкой всей цепочки сертификатов, и, скорее всего, вы неправильно указали все сертификаты в цепочке. Недавно у меня была аналогичная проблема с Firefox и SSL-сертификатом Comodo на Lighttpd, и проблема заключалась в том, что я неправильно указал цепочку в файле ssl.ca.

В соответствии с RFC 2246 сертификат отправителя должен быть первым, и каждый последующий сертификат должен непосредственно удостоверять предыдущий. Я получил четыре сертификата в цепочке вплоть до корня CA.

certificate_list Это последовательность (цепочка) сертификатов X.509v3. Сертификат отправителя должен быть первым в списке. Каждый следующий сертификат должен непосредственно удостоверять предыдущий. Поскольку для проверки сертификата требуется, чтобы корневые ключи распределялись независимо, самозаверяющий сертификат, который указывает корневой центр сертификации, может при желании быть исключен из цепочки при условии, что удаленный конец уже должен обладать им, чтобы проверить его в любом случае.

У меня была такая же проблема (с использованием node.js), и решением было добавить sub.class1.server.ca.pem файл в ssl.crt файл.

Просто скопируйте содержимое sub.class1.server.ca.pem в ssl.crt убедитесь, что один находится под другим без промежутков между ними, и он должен работать.

Вы можете прочитать об этом подробнее Вот.

У меня была проблема с точно таким же поведением: некоторые Firefox жаловались на отсутствие цепочки, но не все. Добавление дополнительного параметра цепочки сертификатов (и файла, содержащего все сертификаты один за другим) в конфигурацию сервера, похоже, помогло. Я сам использую Apache Traffic Server.

Это решение также предлагает SSLhopper по ссылке в комментариях: http://www.sslshopper.com/ssl-checker.html#hostname=www.bisaboard.de

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

Я столкнулся с этой проблемой вчера после обновления сертификата. Все мои тестовые устройства / браузеры нормально работали с обновленным сертификатом, поэтому я поехал домой.

Сегодня я пришел в офис и половина нашей компании / клиентов увидела это предупреждение безопасности в своих браузерах.

Даже с такой же развернутой версией Firefox ESR здесь, в компании ?!

Мое решение заключалось в использовании правильного действующего промежуточного сертификата на сервере.

Совершенно забыл о проблемах SHA1, которые действительно есть у StartCom.

Получите текущий проверенный промежуточный сертификат SHA2 домена класса 1 (в моем случае): https://www.startssl.com/certs/sca.server1.crt, замените им старый onesub.class1.server.ca.pem, перезапустите веб-сервер (Apache на моей стороне), и он будет работать во всех браузерах.