Пол дня непонимания, пол дня гуглинга, ковыряние конфигов, но решение нашлось. А теперь обо всем по порядку.
Два года назад мною был получен SSL от StartSSL. На тот момент Google еще не сделали своего громкого заявления об окончания эры SHA-1 в Chrome, но тем не менее уже тогда я выпустил сертификат на SHA-2. Все было хорошо до того момента, пока не пришло время его продлить. Несколько часов ожидания проверки своей личности от StartSSL и вот доступна заветная админка по созданию сертификатов.
А вот и проблема…
За два года процесс получения сертификата не изменился, что не могло не радовать. Но после получения заветного сертификата, его установке и просмотра сайта увидел пугающий значок с зачеркнутым https.
Этот сайт шифрует соединение с помощью подписей SHA-1. Поскольку это не самый надежный способ, ваши данные могут быть перехвачены.
Такая ошибка возникала в Chrome и Opera. Firefox считал сертификат валидным.
Сначала я подумал, что ошибся и сгенерировал сертификат с SHA-1, но просмотр данных сертификата опровергли данные предположения. Гугл подсказал, что данная ошибка может возникать, если в цепочке сертификатов присутствует сертификат, использующий SHA-1. Так и оказалось, StartCom Class 2 Primary Intermediate Server CA использовал SHA-1. В Chrome заложена логика, что если хоть один из сертификатов использует SHA-1 и дата окончания действия сертификата больше 2017 года, то пользователи будут видеть страшный зачеркнутый https. Если дата меньше — все хорошо, пока живем.
Я сразу же пошел на https://www.startssl.com/certs/ и скачал свеженький сертификат с sha-2. Однако, добавление данного сертификата в цепочку для nginx’а не дало никаких результатов. Chrome и Opera по прежнему ругались на невалидный сертификат, а при его просмотре виндовыми средствами гордо светился все тот же SHA-1.
Несколько часов в гугле и общение с тех. поддержкой показало, что дело в локальном виндовом кеше сертификатов. Причем кеш настолько жесткий, что не обращает внимания на передаваемую веб-сервером цепочку сертификатов.
Что делать?
Вообще, это большой косяк StartSSL. Не знаю о чем они думают, не публикуя никакой информацию по поводу данной проблемы.
Решение — использовать в цепочке следующие сертификаты: Class1, Class2, Class3, взамен тех, что опубликованы на официальной странице StartSSL.
Больше информации:
1) https://class2.test.itk98.net/
2) https://forum.startcom.org/viewtopic.php?f=15&t=15929
0 Комментарии。