Primero un par de puntos que probablemente sean iguales para ti
- Intenté actualizar un certificado porque ha caducado.
- Tengo varios dominios vinculados a la misma IP. Resulta que son un certificado SAN, pero eso probablemente sea irrelevante.
- Estaba tratando de usar el almacén de certificados centralizado. Nuevamente, creo que esto es irrelevante para la mayoría de mi respuesta.
- Ya había intentado actualizar el certificado pero no mostraba la nueva fecha.
- Probablemente esté en pánico en este momento si su antiguo certificado ya expiró. Tomar una respiración profunda...
Primero, recomendaría ir https://www.digicert.com/help/
y descargar su herramienta DigiCert. También puedes usarlo en línea.
Ingrese en su sitio web https://example.com
y le mostrará la fecha de vencimiento y la huella digital (lo que MS llama el hash del certificado). Realiza una búsqueda en tiempo real para que no tenga que preocuparse si su navegador (o servidor intermedio) está almacenando en caché algo.
Si está utilizando el almacén de certificados centralizado, querrá estar 100% seguro de que el archivo .pfx es la última versión, vaya al directorio de su tienda y ejecute este comando:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
Esto le mostrará la fecha de vencimiento y el hash / huella digital. Obviamente, si esta fecha de vencimiento es incorrecta, probablemente haya exportado el certificado incorrecto al sistema de archivos, así que vaya y corríjalo primero.
Si está utilizando el CCS, entonces suponiendo que este comando certutil le dé la fecha de vencimiento esperada (de su certificado actualizado), puede continuar.
Ejecute el comando:
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt
Es probable que tenga muchas cosas aquí, por lo que es más fácil abrirlo en un editor de texto.
digicert.com
Querrá buscar en este archivo el hash INCORRECTO que obtuvo (o la huella digital que obtuvo de Chrome).
Para mí, esto produjo lo siguiente. Verá que está vinculado a una IP y no a mi nombre de dominio esperado. Este es el problema. Parece que esto (por cualquier motivo no estoy seguro) tiene prioridad sobre el conjunto de enlaces en IIS que acabo de actualizar 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
Ni siquiera sé de dónde vino este enlace: ni siquiera tengo enlaces SSL en mi sitio predeterminado, pero este servidor tiene algunos años y creo que algo se corrompió y se atascó.
Entonces querrás eliminarlo.
Para estar seguro, querrás ejecutar el siguiente comando y primero para asegurarte de que solo estás eliminando este 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
Ahora hemos verificado que esta es la huella digital 'mala', y el registro único esperado podemos eliminarlo con este comando:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
Con suerte, si ahora vuelve a Digicert y vuelve a ejecutar el comando, le dará la huella digital de certificado esperada. Debe verificar todos los nombres de SAN si tiene alguno solo para estar seguro.
Probablemente quiera IISRESET aquí para asegurarse de que no haya sorpresas más tarde.
Nota final: si está utilizando el almacén de certificados centralizado y observa un comportamiento errático que intenta incluso determinar si está recogiendo su certificado desde allí o no, no se preocupe, no es su culpa. Parece que a veces recoge nuevos archivos de inmediato, pero almacena en caché los viejos. Abrir y volver a guardar el enlace SSL después de realizar cualquier tipo de cambio parece restablecerlo, pero no el 100% del tiempo.
Buena suerte :-)
[::1]:443
mientras que la actualización del certificado en IIS solo actualizaba el registro0.0.0.0:443
. ¡Gracias!