Innanzitutto un paio di punti che probabilmente sono uguali per te
- Stavo cercando di aggiornare un certificato perché è scaduto.
- Ho più domini associati allo stesso IP. Capita di essere un certificato SAN ma è probabilmente irrilevante.
- Stavo cercando di utilizzare l'archivio certificati centralizzato. Ancora una volta penso che questo sia irrilevante per la maggior parte della mia risposta.
- Avevo già tentato di aggiornare il certificato ma non mostrava la nuova data.
- Probabilmente sei nel panico adesso se il tuo vecchio certificato è già scaduto. Fai un respiro profondo...
Per prima cosa consiglierei vivamente di andare https://www.digicert.com/help/
e scaricare il loro strumento DigiCert. Puoi anche usarlo online.
Entra nel tuo sito web https://example.com
e ti mostrerà la data di scadenza e l'identificazione personale (ciò che MS chiama l'hash del certificato). Esegue una ricerca in tempo reale, quindi non devi preoccuparti se il tuo browser (o server intermedio) sta memorizzando nella cache qualcosa.
Se stai utilizzando l'archivio certificati centralizzato, devi essere sicuro al 100% che il file .pfx sia l'ultima versione, quindi vai alla directory del tuo negozio ed esegui questo comando:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
Questo ti mostrerà la data di scadenza e l'hash / l'identificazione personale. Ovviamente se questa data di scadenza è errata, è possibile che tu abbia esportato il certificato errato nel filesystem, quindi vai prima a risolverlo.
Se si utilizza CCS, supponendo che questo comando certutil fornisca la data di scadenza prevista (del certificato aggiornato), è possibile procedere.
Esegui il comando:
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt
Probabilmente hai un sacco di cose qui, quindi è più facile aprirlo in un editor di testo.
Ti consigliamo di cercare in questo file l'hash ERRATO che hai ottenuto digicert.com
(o l'impronta digitale che hai ottenuto da Chrome).
Per me questo ha prodotto quanto segue. Vedrai che è associato a un IP e non al mio nome di dominio previsto. Questo è il problema. Sembra che questo (per qualsiasi motivo non sia sicuro) abbia la precedenza sull'associazione impostata in IIS per cui ho appena aggiornato 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
Non so nemmeno da dove provenga questo legame - non ho nemmeno alcun legame SSL sul mio sito predefinito, ma questo server ha qualche anno e penso che qualcosa sia appena stato corrotto e bloccato.
Quindi ti consigliamo di eliminarlo.
Per essere al sicuro, ti consigliamo di eseguire prima il comando seguente per assicurarti di eliminare solo questo elemento:
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
Ora abbiamo verificato che questa è la "cattiva" identificazione personale e ci aspettiamo che sia possibile eliminarla con questo comando:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
Spero che se ora torni a Digicert e riesegui il comando, ti darà l'identificazione personale del certificato prevista. Dovresti controllare tutti i nomi SAN se ne hai uno solo per essere sicuro.
Probabilmente voglio IISRESET qui per essere sicuro senza sorprese più tardi.
Nota finale: se stai utilizzando l'archivio certificati centralizzato e stai riscontrando un comportamento irregolare nel tentativo di determinare anche se sta ritirando il certificato da lì o non preoccuparti, non è colpa tua. A volte sembra raccogliere immediatamente nuovi file, ma memorizzarli nella cache. L'apertura e il salvataggio del binding SSL dopo aver apportato qualsiasi tipo di modifica sembra reimpostarlo, ma non il 100% delle volte.
In bocca al lupo :-)
[::1]:443
mentre l'aggiornamento del certificato in IIS ha aggiornato solo il record per0.0.0.0:443
. Grazie!