Я подключаюсь к определенному веб-серверу через брандмауэр, но когда я это делаю, брандмауэр предупреждает, что срок действия корневого сертификата истек. Когда я обхожу брандмауэр, все браузеры не видят никаких проблем с сертификатами, и когда я проверяю цепочку, все сертификаты в порядке.
Я изучил его более подробно и обнаружил, что браузер на самом деле заменяет просроченный сертификат, отправленный сервером, на непросроченный сертификат из хранилища сертификатов Windows. (Сервер отправляет цепочку из четырех сертификатов: корневой, промежуточный 1, промежуточный 2 и сертификат сервера. Промежуточный 1 просрочен. Он заменяется браузером/ОС и становится корневым сертификатом для браузера. Это цепочка сертификатов GlobalSign.)
По-видимому, у них одинаковое понятное имя и, возможно, другие похожие свойства (конечно, открытый ключ тот же). Поскольку IE/Chrome делают то же самое, это выглядит как некая функция Windows, используемая браузерами.
Почему так происходит? Как можно заменить сертификат и есть ли какая-то потенциальная опасность, о которой я не знаю?
Вот снимок экрана, сравнивающий просмотрщик браузеров и захват пакетов.
решение1
ОТВЕТ: Windows игнорирует сертификаты CA, предоставленные веб-сервером. Он будет проверять только сертификат веб-сервера на соответствие соответствующему сертификату CA, который хранится в хранилище сертификатов CA операционной системы, и эти сертификаты доверены операционной системой. Windows также имеет свои способы извлечения цепочки сертификатов CA, выдавших сертификат веб-сервера, если эта цепочка еще не сохранена в хранилище сертификатов CA операционной системы. Более подробную информацию об этом можно найти здесь:
Некоторые брандмауэры проверяют сертификаты CA, отправленные веб-сервером, и блокируют доступ, если срок действия одного из сертификатов истек. В целом брандмауэры ведут себя по-другому в отношении сертификатов по сравнению с обычными операционными системами, такими как Windows.
Мы также узнали, что сертификаты CA могут быть перевыпущены с другими серийными номерами и датами действия. Сертификат будет иметь то же самое «Friendly Name» и пары ключей.
В этом конкретном случае веб-сервер отправляет старую версию одного сертификата CA, принадлежащего цепочке, брандмауэр обнаруживает, что сертификат просрочен, и блокирует доступ к веб-сайту. При обходе брандмауэра доступ к сайту возможен, это происходит потому, что Windows имеет новую версию сертификата CA и проверяет сертификат веб-сервера по ней.