web-dev-qa-db-fra.com

Activer SSL dans Visual Studio

J'ai activé SSL dans Visual Studio comme indiqué ci-dessous:

enter image description here

J'ai également défini ce qui suit:

enter image description here

Lorsque j'accède au site Web via IE (via le débogage de Visual Studio), je vois ceci:

enter image description here

Lorsque j'accède au site Web via Firefox (via le débogage de Visual Studio), je vois ceci:

enter image description here

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?

8
w0051977

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:

Enable SSL in Visual Studio properties window

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:

Override project url to 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:

Localhost is not trusted

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:

localhost certificate in certificates snap-in

Si vous double-cliquez sur le certificat, vous verrez qu'il n'est pas approuvé:

localhost certificate is not included among trusted certificates

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é:

localhost certificate is now trusted

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:

localhost is loaded in browser without issue

Vous pouvez également afficher le certificat extrait à partir de la fenêtre du navigateur. Voici un exemple d'IE:

Certificate details from internet Explorer

12
Eng. Ahmad Hamdy

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:

  • Dans l'Explorateur de solutions, cliquez sur votre projet.
  • Appuyez sur la touche F4 (afficher les propriétés).
  • Copiez l'URL (PAS l'URL SSL).
  • Collez l'URL dans l'URL du projet sur l'onglet Web, enregistrez.
  • Dans l'Explorateur de solutions, cliquez sur votre projet.
  • Appuyez sur la touche F4 (afficher les propriétés).
  • Remplacez SSL activé par faux.
  • Changez-le en vrai. Il devrait y avoir une nouvelle URL SSL. Copiez-le.
  • Collez la nouvelle URL SSL dans l'URL du projet sur l'onglet Web. Cliquez sur Créer un répertoire virtuel.
  • Cliquez sur Remplacer l'URL racine de l'application et collez l'URL SSL. Sauver.

Cela résout toujours le problème pour moi.

0
XjeaxaxX