web-dev-qa-db-fra.com

Certificat SSL installé dans le magasin de certificats, mais pas dans IIS liste de certificat

Après l'installation d'un certificat SSL générique dans le magasin de certificats, le certificat n'apparaît pas dans la liste de certificats IIS à utiliser avec les liaisons de sites.

Le certificat a été installé correctement, mais apparemment, aucune clé n’était incluse dans le certificat.

Comment résoudre ce problème sans faire une nouvelle demande ou contacter quelqu'un pour obtenir la clé (si, par exemple, c'est la veille d'un lancement? ;-))

44
jedd.ahyoung

J'ai rencontré ce problème aujourd'hui. En raison des délais et d'autres problèmes, il était impossible d'obtenir la clé du fournisseur.

J'ai trouvé la solution suivante ici (sous le commentaire de pixelloa) et j'ai pensé qu'il serait bien d'avoir la réponse sur Stack Overflow également.

Si le certificat n'a pas de clé privée, vous pouvez résoudre ce problème en procédant comme suit:

Pour résoudre ce problème, utilisez le composant logiciel enfichable MMC pour importer le certificat dans PERSONAL, Cliquez dessus et prenez la ligne # de série. Allez à dos, exécutez certutil -repairstore my "collez le numéro de série ici" (vous avez besoin des guillemets), puis actualisez MMC avec des certificats personnels, faites un clic droit dessus - exportez - sélectionnez tout sauf DELETE PRIVATE KEY, cliquez sur ok. Ensuite, allez à IIS et IMPORT cert au lieu de la demande de finition.

Pour ce que ça vaut, tout ce que j'avais à faire était de lancer la commande certutil -repairstore, et mon certificat a fonctionné. J'ai exécuté l'exportation et défini un mot de passe pour l'exportation elle-même, mais je n'ai pas eu à réimporter le certificat. Le certificat apparaît maintenant dans la liste de certificats d'IIS et peut être utilisé pour les liaisons HTTPS.

J'espère que cela a aidé quelqu'un.

51
jedd.ahyoung

Avait le même problème et a trouvé la solution facile grâce à l'inspiration des réponses ci-dessus. Voici un résumé rapide, étape par étape:

  1. Commencez par ouvrir MMC avec le plug-in Certificates.
  2. Glissez-déposez votre nouveau certificat (la clé manquante dans la partie supérieure gauche de l'icône de certificat) dans le magasin de certificats "Personnel". C'est ce que j'ai fait parce que le nom du magasin "Web Hosting" est un nom convivial, et non le vrai nom du magasin, et je ne me souvenais plus du nom réel nécessaire à la commande Utilitaire Prompt certutil . Au lieu de cela, je viens de me rappeler que le vrai nom de "Personnel" est "Mon". Le reste est facile, et une fois cela fait, je replace le certificat dans "Hébergement Web".
  3. Une fois que le nouveau certificat (sans la clé) est dans le magasin "Personnel", démarrez une invite de commande et exécutez la commande suivante: certutil -store "Mon" (en supposant que les guillemets sont nécessaires)
  4. Notez le numéro de série de votre certificat. C'est dans la première ligne du dump de certificat. Si vous avez d'autres certificats dans le magasin "Mon", vous devez trouver celui que vous venez de déplacer. Regardez la date d'expiration et nom par exemple. Marquez et copiez le numéro de série.
  5. Exécutez maintenant la commande certutil -repairstore "Mon" <coller le numéro de série ici>et notez que la clé privée est vérifiée.
  6. Remettez le certificat dans le magasin "Hébergement Web" et actualisez-le. Vous devriez maintenant voir l'icône du certificat recouverte d'une petite icône de clé dans la partie supérieure gauche.
  7. Vous devriez maintenant pouvoir choisir le certificat dans la boîte de dialogue des liaisons IIS.

S'amuser!

12
Søren L. Fog

Vous pouvez exporter un pfx à partir de IIS sur un autre serveur, si vous avez un serveur sur lequel le certificat est correctement installé.

Mettre à jour:

Travaillant sur une autre série de mises à jour de certificats (un renouvellement), j'ai rencontré ce problème à nouveau sur chaque serveur que j'ai essayé. La réponse de @ Geir n'a pas fonctionné, mais elle m'a donné une idée. J'ai identifié le serveur sur lequel j'avais généré la demande de certificat et y ai installé le nouveau certificat. À partir de ce serveur, j'ai pu exporter un pfx puis importer la version de pfx sur le reste des serveurs. Pas besoin de refaire la demande de certificat.

5
mobill

Si vous utilisez Godaddy comme autorité de certification, vous rencontrez ce problème; Tout ce que vous avez à faire est de ressaisir le certificat . J'ai essayé ce qui précède certutil -repairstore mon "coller le numéro de série ici" mais le système m'a demandé d'utiliser une carte à puce pour l'authentification. (Exécution d'IIS10 sur le serveur 2016 et 2012R2)

Lorsque j'ai créé une demande de certificat, suivi le processus de re-saisie et procédé de "demande de certificat complète", j'ai pu configurer avec succès "Liaisons ..." sans que le certificat ne disparaisse. 

5
Konrad Kukowski

Pour résoudre ce problème, vous devez importer un certificat privé (PFX).

Si vous n'avez pas PFX, utilisez OpenSSL pour le générer:

  • Téléchargez et installez OpenSSL
  • Ouvrez la ligne de commande et exécutez: 

    openssl pkcs12 -export -in public_certificate.cer -inkey server.key -out private_certificate.pfx

Ensuite, installez private_certificate.pfx (clic droit -> Installer le certificat).

Désormais, votre certificat ne disparaît plus et vous pouvez lier un site Web via SSL.

Une excellente ressource: https://blog.lextudio.com/the-whole-story-of-server-certificate-disappears-in-iis-7-7-5-8-8-5-10-0 après l’installation-pourquoi-b66e802baa38

3
walter

Cela peut arriver si, par exemple, vous générer une nouvelle demande de certificat après avoir approuvé votre ancienne demande de certificat. La nouvelle demande entraînera IIS de supprimer la clé privée associée à votre demande first certificat. Ainsi, lorsque vous importez le certificat (maintenant signé) associé à votre première demande, aucun clé privée qui lui est associée. Comme il ne possède pas de clé privée, il ne peut pas être utilisé pour la liaison SSL et n'apparaîtra pas dans le IIS manager.

Vous pourrez peut-être restaurer la clé privée, car elle est stockée à plusieurs endroits sur votre ordinateur:

  1. Démarrer -> mmc.exe -> Ajouter un composant logiciel enfichable -> Certificats -> Compte d'ordinateur. Vérifiez que le certificat installé apparaît dans l'onglet "Personnel/Certificats". Sinon, importez-le. Une clé privée manquante est visualisée par l'icône située à côté du certificat not contenant une icône de clé.
  2. Ouvrez le fichier de certificat (.cer) à partir du disque en double-cliquant dessus. Dans l'onglet Détails, notez le numéro de série.
  3. Démarrer -> cmd.exe. Tapez "certutil -repairstore my (serialnumberhere)". Le numéro de série ne doit pas avoir d'espaces. Peut-être 8 chiffres ou plus.

Si la commande certutil est renvoyée avec "commande -repairstore terminée avec succès", la clé privée de votre certificat a probablement été récupérée. Vous pouvez le vérifier en accédant à la liste des certificats MMC et en appuyant sur la touche F5 - si l'opération aboutit, votre certificat aura désormais une petite clé dans son icône. Vous pourrez alors sélectionner votre certificat à partir d'IIS.

Si cela échoue, votre clé privée n'est plus disponible et vous devez envoyer une nouvelle demande de signature de certificat à l'autorité de signature.

2
Geir Smestad

eu le même problème. 

Vous devez vous assurer que vous installez sur le même serveur que celui sur lequel vous avez créé le fichier "CSR". Sinon, il n'aura pas les clés privées. 

Si vous avez obtenu votre certificat, demandez simplement à ressaisir, il vous demandera un nouveau fichier CSR. C'est à dire. Go Daddy vous permet de ressaisir, de trouver le cert et de cliquer sur "gérer"

Je ne suis pas expert en la matière, mais cela a fonctionné.

2
Arvin Amir

J'avais le même problème et j'ai essayé toutes les combinaisons possibles ainsi que la réponse acceptée sans aucune chance. Enfin, j'ai trouvé DigiCert SSL Utility qui m'a aidé à installer le certificat en quelques clics. Vous pouvez le télécharger ici . J'espère que cette réponse permettra aux autres de gagner du temps.

1
Denys Denysenko

Cela se produit lorsque le certificat installé ne contient pas votre clé privée. 

Afin de vérifier si le certificat contient la clé privée et comment le réparer, utilisez ce tutoriel Nice fourni par Entrust .

1
Ivo Stoyanov

lorsque vous avez un certificat et 2 serveurs Web différents, voici comment je l'ai corrigé:

  1. Élément de liste
  2. Vous devez générer le certificat sur l'un des serveurs comme d'habitudein IIS Ensuite, vous pouvez également compléter le certificat sur ce serveurin IIS.
  3. Exécutez le programme DigiCertUtil et exportez ce certificat de travail
  4. Accédez à l'autre serveur Web dans IIS dans Sécurité Certificats Importez ce fichier à partir de l'étape 3. 
  5. Utilisez ensuite ce certificat pour créer la liaison.
1
Nina Kyriakidou

Le problème est que la demande de certificat (CSR) n'a pas été générée à partir d'IIS. Si vous avez généré à partir d’autres sources, par exemple OpenSSL, le problème sera résolu. Vous devez générer la demande de certificat (CSR) à partir de IIS -> Créer une demande de certificat, puis saisir tous les détails, puis l'envoyer au fournisseur pour qu'il régénère le certificat SSL. Le mien a bien fonctionné après cela.

1
Ronald

J'avais la même chose dans IIS 10. 

Je l'ai corrigé en important le fichier .pfx à l'aide du gestionnaire IIS. 

Sélectionnez la racine du serveur (au-dessus du nœud sites), cliquez sur "Certificats de serveur" dans le volet de droite et importez pfx à cet emplacement. Ensuite, je pourrais le sélectionner dans la liste déroulante lors de la création d'une liaison SSL pour un site Web sous sites

0
Arjan