J'ai activé SSL dans Visual Studio comme indiqué ci-dessous:
J'ai également défini ce qui suit:
Lorsque j'accède au site Web via IE (via le débogage de Visual Studio), je vois ceci:
Lorsque j'accède au site Web via Firefox (via le débogage de Visual Studio), je vois ceci:
Il n'y a aucune option pour progresser vers le site Web dans Firefox ou IE. J'ai passé toute la journée à essayer de comprendre ce qui ne va pas. Qu'est-ce que je fais mal?
Supposons que vous ayez un projet .NET MVC ou API Web et que vous souhaitiez l'exécuter sur SSL. En d'autres termes, vous souhaitez démarrer le projet sur une URL similaire à https: // localhost: xxxx . La première étape est simple. Il vous suffit de sélectionner le nom du projet MVC/Web API dans la solution et de localiser la propriété appelée "SSL activé" dans la fenêtre des propriétés:
La même fenêtre de propriétés affichera également l'URL HTTPS de l'application. Dans l'exemple ci-dessus, c'est https: // localhost: 44300 / . Copiez cette URL et accédez à la fenêtre des propriétés du projet. Recherchez l'onglet Web et remplacez la propriété Project Url par l'adresse https:
Démarrez l'application. Vous recevrez probablement un message dans le navigateur indiquant que l'adresse de l'hôte local n'est pas approuvée, vous pouvez continuer à visiter le site Web à vos propres risques. Voici un exemple Chrome en suédois:
Le problème est que le certificat qui a été installé automatiquement pour vous par Visual Studio n'est pas approuvé. Vous pouvez localiser le certificat dans le dossier personnel des certificats de niveau ordinateur dans le composant logiciel enfichable certificats:
Si vous double-cliquez sur le certificat, vous verrez qu'il n'est pas approuvé:
Le message fournit également la solution: le certificat doit être importé dans le dossier des autorités de certification racines de confiance. Vous verrez cela comme un dossier dans le même composant logiciel enfichable juste en dessous de "Personnel". Alors, comment pouvons-nous faire cela? Cliquez avec le bouton droit sur le certificat, puis sélectionnez Toutes les tâches, Exporter… dans le menu contextuel. Cliquez sur Suivant dans l'assistant d'exportation de certificat. Laissez l'option "Ne pas exporter la clé privée" inchangée, cliquez sur Suivant. Acceptez la valeur par défaut sur l'écran suivant, c'est-à-dire que "Binaire codé DER X.509" doit rester sélectionné, puis cliquez sur Suivant. Vous devrez ensuite fournir un nom et un emplacement pour le fichier exporté. Appelez-le "localhost" et enregistrez-le dans un endroit où vous pouvez facilement le trouver. Cliquez sur Suivant et sur Terminer. Un message contextuel devrait indiquer que l'exportation a réussi. Cliquez ensuite avec le bouton droit sur le dossier intitulé Autorités de certification racines de confiance et sélectionnez Toutes les tâches, Importer… dans le menu contextuel. Laissez l'option "Machine locale" intacte dans l'assistant d'importation de certificat, cliquez sur Suivant. Accédez au certificat que vous avez enregistré juste avant. Cliquez sur Suivant et acceptez toutes les valeurs par défaut en cours de route jusqu'à la fin de l'assistant. Un message devrait indiquer que l'importation a réussi. Si vous revenez maintenant au magasin personnel et double-cliquez sur le certificat localhost, vous devriez voir qu'il est approuvé:
OK, recommençons le projet Web .NET, la page d’ouverture devrait s’ouvrir sans aucun avertissement. Si vous voyez toujours le même problème, testez-le dans une toute nouvelle session de navigateur, par ex. ici dans IE:
Vous pouvez également afficher le certificat extrait à partir de la fenêtre du navigateur. Voici un exemple d'IE:
Je vois ce problème EXACT de temps en temps, lorsque j'utilise SSL, et j'ai constaté que (en particulier lorsque vous travaillez sur le projet de quelqu'un d'autre dans un environnement d'équipe) les paramètres Web du projet Visual Studio (ports SSL) sont parfois gâchés. Voici ce que je fais pour les corriger:
Cela résout toujours le problème pour moi.