85 votes

IIS 7 Erreur "La session de connexion spécifiée n'existe pas. Il se peut qu'elle ait déjà été fermée" lors de l'utilisation de https

J'essaie de créer une authentification par certificat client pour mon site Web asp.net.

Pour créer des certificats clients, je dois d'abord créer une autorité de certification :

makecert.exe -r -n "CN=My Personal CA" -pe -sv MyPersonalCA.pvk -a sha1 -len 2048 -b 01/01/2013 -e 01/01/2023 -cy authority MonACPersonnelle.cer

Ensuite, je dois l'importer dans IIS 7, mais comme il accepte le format .pfx, je le convertis d'abord.

pvk2pfx.exe -pvk MyPersonalCA.pvk -spc MyPersonalCA.cer -pfx MyPersonalCA.pfx

Après avoir importé MyPersonalCA.pfx, j'essaie d'ajouter le lien https à mon site Web et de choisir le certificat SSL ci-dessus, mais j'obtiens l'erreur suivante :

enter image description here

Des suggestions ?

84voto

Mike L Points 2028

J'ai rencontré le même problème, mais je l'ai résolu d'une manière différente. Je pense que le compte que j'utilisais a changé entre le moment où j'ai essayé de mettre en place le certificat et le moment où je suis revenu pour terminer le travail, ce qui a créé le problème. Je ne sais pas de quoi il s'agit, mais je soupçonne qu'il s'agit d'une sorte de hachage de l'utilisateur actuel qui n'est pas cohérent dans certains scénarios, car l'utilisateur est modifié ou recréé, etc.

Pour résoudre le problème, j'ai supprimé d'IIS et du snap-in Certificats (pour l'utilisateur actuel et l'ordinateur local) toutes les références au certificat en question :

IIS certificates

mmc.exe --> add/remove snap-ins, choose certificates then local computer or current user

Ensuite, j'ai importé le fichier *.pfx dans le snap-in certs de la MMC, en le plaçant dans l'ordinateur local. \Personal nœud :

  1. Cliquez avec le bouton droit de la souris sur le nœud Certificats sous Personnel (sous Ordinateur local en tant que racine).
  2. Toutes les tâches -> Importer
  3. Passez par l'assistant pour importer votre *.pfx

À partir de là, j'ai pu retourner dans IIS et le trouver dans les certificats de serveur. Enfin, je suis allé sur mon site, j'ai modifié les liaisons et j'ai sélectionné le bon certificat. Cela a fonctionné parce que l'utilisateur a été cohérent tout au long du processus.

Pour répondre à la question soulevée dans une autre réponse, vous ne devriez pas avoir à marquer le document comme étant exportable, car il s'agit d'une procédure d'exportation. problème de sécurité majeur . Vous permettez effectivement à toute personne qui peut accéder à la boîte avec des autorisations similaires de prendre votre certificat avec elle et de l'importer n'importe où ailleurs. Il est évident que ce n'est pas optimal.

65voto

romkyns Points 17295

Avertissement de sécurité La case à cocher signifie en réalité que le certificat peut être lu par des utilisateurs qui ne devraient pas être en mesure de le faire. Par exemple, l'utilisateur qui exécute le processus de l'ouvrier IIS. En production, utilisez l'option autre réponse au lieu de cela.

Cela m'est arrivé aussi, et a été résolu en s'assurant que l'option "Allow this certificate to be exported" (Autoriser l'exportation de ce certificat) est bien activée. vérifié lorsque vous l'importez :

                                            enter image description here

(merci à ce poste !)

11voto

enb081 Points 1382

Il doit s'agir d'une sorte de bug IIS, mais j'ai trouvé la solution.

1- Exportation MonCA personnel.pfx à partir d'IIS.

2- Le convertir en .pem :

openssl pkcs12 -in MyPersonalCA.pfx -out MyPersonalCA.pem -nodes

3- Le reconvertir en .pfx :

openssl pkcs12 -export -in MyPersonalCA.pem -inkey MyPersonalCA.pem -out MyPersonalCA.pfx

4- Le réimporter dans IIS .

8voto

Nous avons rencontré le même problème en raison d'une importation incorrecte du certificat dans le magasin de certificats personnel de l'utilisateur actuel. La suppression du certificat du magasin personnel de l'utilisateur actuel et son importation dans le magasin personnel de la machine locale ont résolu le problème.

7voto

SkankyMidget Points 71

Plus personne ne s'en préoccupe probablement, mais je viens de rencontrer ce problème avec mon site web IIS 7. J'ai résolu le problème en allant sur le site de l'autorité de certification et en trouvant le certificat délivré au serveur concerné par le problème. J'ai vérifié le compte utilisateur qui avait demandé le certificat. Je me suis ensuite connecté au serveur IIS en utilisant RDP avec ce compte. J'ai pu rétablir le protocole https en utilisant uniquement ce compte. Aucune exportation, réémission ou modification d'extension n'a été nécessaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X