J'essaie d'exécuter ASP Application MVC avec le mode SSL défini sur true et chaque fois que j'exécute l'application, je suis invité à faire confiance au certificat SSL IIS Express SSL). En cliquant sur Oui, il affiche le message d'erreur "L'ajout du certificat au magasin de certificats racine approuvés a échoué avec l'erreur suivante. L'accès est refusé". J'exécute mon Visual Studio 2017 en mode administrateur. J'ai également supprimé le certificat localhost en accédant à MMC. Quelqu'un d'autre a-t-il rencontré ce problème?.
SOLN: C'est ce qui a fonctionné pour moi. supprimé tous les certificats localhost. ran repair IIS Express in Add/Remove Programs. Copiez et collez le certificat localhost de Personal/Certificate vers Trusted Root Certificates et il ne se plaignait plus.
Remarque: Ajout de la solution OP de la question comme réponse.
C'est ce qui a fonctionné pour moi. supprimé tous les certificats localhost. ran repair IIS Express in Add/Remove Programs. Copiez et collez le certificat localhost de Personal/Certificate vers Trusted Root Certificates et il ne se plaignait plus.
Réparer/réinstaller IIS Express ne semble pas réellement résoudre ce problème (à partir de IIS Express 10), la vraie solution consiste à ajouter le certificat localhost à Trusted Certificats Rood.
Tous les détails sur la façon de procéder sont couverts par cet article de blog: https://blogs.iis.net/robert_mcmurray/how-to-trust-the-iis-express-self-signed-certificate
En résumé,
Cela m'a fonctionné simplement en exécutant CMD> certlm et en supprimant le certificat localhost dans le dossier personnel.
Après avoir lutté avec ce problème pendant une semaine (en utilisant Win 10 et Visual Studio 2019 Community Edition version 16.1.1) et en essayant diverses solutions, j'ai découvert ce qui suit:
La réparation d'IISExpress 10 (Programmes -> Programmes et fonctionnalités) créera un nouveau certificat localhost également dans: Certificats (ordinateur local) -> Personnel
Exportez ensuite ce certificat en l'enregistrant dans un fichier à l'aide de:
Importez ensuite ce certificat dans: Certificats (ordinateur local) -> Autorités de certification racines de confiance
J'ai également essayé d'utiliser "dotnet dev-crts https --trust" mais cela n'a pas fonctionné pour moi et a toujours produit l'erreur suivante:
Donc, pour conclure: assurez-vous qu'il n'y a qu'un seul certificat localhost qui se trouve dans Certificats (ordinateur local) -> Autorités de certification racines de confiance
Mise à jour: Je viens de me rendre compte qu'après avoir modifié l'application Web à quelques reprises, une erreur différente s'est manifestée et j'ai dû recommencer tout le processus pour le faire fonctionner!
Mon erreur était en fait "le certificat de développeur asp.net n'est pas installé" mais je pense que la solution ci-dessous fonctionnerait toujours dans ce cas. Exécutez les commandes suivantes dans l'invite de commandes.
dotnet dev-certs https --trust --check
echo Trust check: %errorlevel%
dotnet dev-certs https --trust -ep "%APPDATA%\ASP.NET\https\TestCert.pfx" -p TestPassword
echo Trust/Export: %errorlevel%
Référence: https://github.com/Microsoft/DockerTools/issues/147#issuecomment-420433974