Много подобен отговор на @IsolatedStorage, но с някои повече подробности за това какво ми помогна.
Първо няколко точки, които вероятно са еднакви за вас
- Опитвах се да актуализирам сертификат, защото е изтекъл.
- Имам няколко домейна, свързани с един и същи IP. Те са SAN сертификат, но това вероятно е без значение.
- Опитвах се да използвам централизираното хранилище за сертификати. Отново мисля, че това е без значение за по-голямата част от моя отговор.
- Вече се опитах да актуализирам сертификата, но той не показваше новата дата.
- Вероятно сте в паника в момента, ако старият ви сертификат вече е изтекъл. Поеми си дълбоко въздух...
Първо бих препоръчал силно да отидете на https://www.digicert.com/help/
и да изтеглите техния инструмент DigiCert. Можете да го използвате и онлайн.
Въведете във вашия уебсайт https://example.com
и той ще ви покаже датата на изтичане и палецов отпечатък (това, което MS нарича хеш на сертификата). Той извършва търсене в реално време, така че не е нужно да се притеснявате дали вашият браузър (или междинен сървър) кешира нещо или не.
Ако използвате централизираното хранилище за сертификати, ще искате да сте 100% сигурни, че .pfx файлът е най-новата версия, така че отидете в директорията на вашия магазин и изпълнете тази команда:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
Това ще ви покаже датата на изтичане и хеш/отпечатък. Очевидно, ако тази дата на изтичане е грешна, вероятно просто сте експортирали грешен сертификат във файловата система, така че първо отидете и поправете това.
Ако използвате CCS, тогава ако приемем, че тази команда certutil ви дава очакваната дата на изтичане (на вашия актуализиран сертификат), можете да продължите.
Изпълнете командата:
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt
Вероятно имате много неща тук, така че е по-лесно да ги отворите в текстов редактор.
Ще искате да потърсите в този файл ГРЕШНИЯ хеш, който сте получили от digicert.com
(или отпечатъка, който сте получили от Chrome).
За мен това доведе до следното. Ще видите, че е обвързано с IP, а не с моето очаквано име на домейн. Това е проблема. Изглежда, че това (по някаква причина, за която не съм сигурен) има предимство пред набора за обвързване в IIS, който току-що актуализирах за example.com
.
IP:port : 10.0.0.1:443
Certificate Hash : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Дори не знам откъде идва това обвързване - дори нямам никакви SSL обвързвания на моя сайт по подразбиране, но този сървър е на няколко години и мисля, че нещо просто се е повредило и е блокирало.
Така че ще искате да го изтриете.
За по-сигурно ще искате първо да изпълните следната команда, за да сте сигурни, че изтривате само този един елемент:
C:\Windows\system32>netsh http show sslcert ipport=10.0.0.1:443
SSL Certificate bindings:
-------------------------
IP:port : 10.0.0.1:443
Certificate Hash : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Сега проверихме, че това е „лошият“ отпечатък и очакваме единичен запис, който можем да изтрием с тази команда:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
Надяваме се, че ако сега се върнете към Digicert и изпълните отново командата, тя ще ви даде очаквания отпечатък на сертификата. Трябва да проверите всички SAN имена, ако имате такива, за да сте сигурни.
Вероятно искате да IISRESET тук, за да сте сигурни, че няма изненади по-късно.
Последна забележка: Ако използвате централизираното хранилище за сертификати и виждате нестабилно поведение, опитвайки се дори да определите дали взема сертификата ви от там или не, не се притеснявайте - вината не е ваша. Изглежда, че понякога веднага взима нови файлове, но кешира старите. Отварянето и повторното запазване на SSL свързването след извършване на каквато и да е промяна изглежда го нулира, но не в 100% от времето.
Късмет :-)
person
Simon_Weaver
schedule
08.04.2016