D'abord quelques points qui sont probablement les mêmes pour vous
- J'essayais de mettre à jour un certificat car il a expiré.
- J'ai plusieurs domaines liés à la même IP. Il se trouve qu'il s'agit d'un certificat SAN, mais cela n'est probablement pas pertinent.
- J'essayais d'utiliser le magasin de certificats centralisé. Encore une fois, je pense que cela n'est pas pertinent pour la plupart de ma réponse.
- J'avais déjà tenté de mettre à jour le certificat mais il ne montrait pas la nouvelle date.
- Vous êtes probablement paniqué en ce moment si votre ancien certificat a déjà expiré. Respirez profondément ...
Tout d'abord, je vous recommande vivement d'aller https://www.digicert.com/help/
et de télécharger leur outil DigiCert. Vous pouvez également l'utiliser en ligne.
Entrez dans votre site Web https://example.com
et il vous montrera la date d'expiration et l'empreinte numérique (ce que MS appelle le hachage du certificat). Il effectue une recherche en temps réel afin que vous n'ayez pas à vous soucier de savoir si votre navigateur (ou serveur intermédiaire) met en cache quelque chose.
Si vous utilisez le magasin de certificats centralisé, vous voudrez être sûr à 100% que le fichier .pfx est la dernière version, alors allez dans le répertoire de votre magasin et exécutez cette commande:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
Cela vous montrera la date d'expiration et l'empreinte numérique. Évidemment, si cette date d'expiration est erronée, vous venez probablement d'exporter le mauvais certificat vers le système de fichiers, alors corrigez-le d'abord.
Si vous utilisez CCS, en supposant que cette commande certutil vous donne la date d'expiration prévue (de votre certificat mis à jour), vous pouvez continuer.
Exécutez la commande:
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt
Vous avez probablement beaucoup de choses ici, il est donc plus facile de l'ouvrir dans un éditeur de texte.
Vous souhaiterez rechercher dans ce fichier le hachage erroné que vous avez obtenu digicert.com
(ou l'empreinte numérique que vous avez obtenue de Chrome).
Pour moi, cela a donné les résultats suivants. Vous verrez qu'il est lié à une adresse IP et non à mon nom de domaine attendu. C'est le problème. Il semble que cela (pour une raison quelconque, je ne suis pas sûr) ait priorité sur l'ensemble de liaisons dans IIS pour lequel je viens de mettre à jour 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
Je ne sais même pas d'où vient cette liaison - je n'ai même pas de liaison SSL sur mon site par défaut, mais ce serveur a quelques années et je pense que quelque chose vient d'être corrompu et bloqué.
Vous voudrez donc le supprimer.
Pour être sûr, vous voudrez d'abord exécuter la commande suivante pour être sûr de ne supprimer que cet élément:
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
Maintenant que nous avons vérifié qu'il s'agit de l'empreinte numérique «mauvaise», et que l'enregistrement unique attendu, nous pouvons le supprimer avec cette commande:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
J'espère que si vous revenez maintenant à Digicert et réexécutez la commande, cela vous donnera l'empreinte numérique de certificat attendue. Vous devriez vérifier tous les noms de SAN si vous en avez juste pour être sûr.
Je veux probablement IISRESET ici pour être sûr qu'aucune surprise plus tard.
Remarque finale: si vous utilisez le magasin de certificats centralisé et que vous voyez un comportement erratique essayant même de déterminer s'il récupère votre certificat à partir de là ou ne vous inquiétez pas - ce n'est pas de votre faute. Il semble parfois récupérer immédiatement de nouveaux fichiers, mais mettre en cache les anciens. L'ouverture et la ré-enregistrement de la liaison SSL après avoir effectué tout type de modification semble la réinitialiser, mais pas à 100% du temps.
Bonne chance :-)
[::1]:443
alors que la mise à jour du certificat dans IIS ne mettait à jour l'enregistrement que pour0.0.0.0:443
. Merci!