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 ?

5voto

Paulo Dinis Points 76

Dans notre cas, ce problème s'est produit parce que nous avons installé le certificat dans une machine virtuelle et que nous en avons fait une image en vue d'une utilisation ultérieure.

Lors de la création d'une autre VM à partir de l'image précédemment créée, le certificat envoie le message.

Pour éviter cela, veillez à installer le certificat sur chaque nouvelle VM installée.

4voto

Kuldeep Heggana Points 41

Au lieu d'importer le certificat à partir d'IIS, faites-le à partir de MMC. Ensuite, allez sur IIS pour la liaison.

4voto

Selon la Article de blog MSDN Cela peut se produire lorsque le compte d'utilisateur actuel n'a pas la permission d'accéder au fichier de la clé privée qui se trouve dans le dossier " C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys " . Apparemment, ce problème peut être résolu en accordant au compte d'utilisateur / groupe d'utilisateurs Accès complet dans le dossier ci-dessus.

J'ai rencontré le même problème et j'ai pu le résoudre en réimportant simplement le fichier .pfx avec la commande Autoriser l'exportation de ce certificat case à cocher sélectionné .

Import Certificate

Toutefois, cette méthode présente un risque pour la sécurité, car tout utilisateur qui dispose d'un accès à votre serveur IIS sera en mesure d'exporter votre certificat avec le code la clé privée.

Dans mon cas, je suis le seul à avoir accès à mon serveur IIS - ce n'était donc pas un risque énorme.

3voto

Der_Meister Points 336

J'ai obtenu cette erreur à cause d'une mauvaise ligne de commande openssl lors de l'exportation du certificat PKCS #12. La clé -certfile n'était pas la bonne. J'ai à nouveau exporté le certificat et il a été importé avec succès.

3voto

EdmundG Points 1115

Nous avons trouvé une autre cause à cela. Si vous effectuez l'installation du certificat à l'aide de PowerShell et que vous avez utilisé l'option Import-PfxCertificate commande. Le certificat est alors importé. Cependant, le certificat importé ne peut pas être lié à un site web dans IIS avec la même erreur que celle mentionnée dans cette question. Vous pouvez dresser la liste des certificats à l'aide de cette commande et voir pourquoi :

certutil -store My

La liste des certificats de votre magasin personnel s'affiche et vous pouvez voir cette propriété :

Provider = Microsoft Software Key Storage Provider

Ce fournisseur de stockage est un fournisseur CNG plus récent et n'est pas pris en charge par IIS ou .NET. Vous ne pouvez pas accéder à la clé. Vous devez donc utiliser certutil.exe pour installer des certificats dans vos scripts. L'importation à l'aide du snap-in MMC du gestionnaire de certificats ou d'IIS fonctionne également, mais pour les scripts, utilisez certutil comme suit :

certutil -f -p password -importpfx My .\cert.pfx NoExport

Voir cet article pour plus d'informations : https://windowsserver.uservoice.com/forums/295065-security-and-assurance/suggestions/18436141-import-pfxcertificate-needs-to-support-legacy-priv

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