web-dev-qa-db-fra.com

Utiliser un certificat SSL dans ASP.NET Core 2.1 lors du développement

Sur un fichier appSettings d'application ASP.NET Core 2.1 I, j'ai les éléments suivants:

"Kestrel": {
  "Certificates": {
    "Default": {
      "Path": "localhost.pfx",
      "Password": "1234"
    }
  }
}  

J'ai créé le certificat à l'aide de la commande dotnet:

dotnet dev-certs https -ep "localhost.pfx" -p 1234

Et j'ai copié le fichier localhost.pfx à la racine du projet le long du fichier appSettings.

Lorsque j'exécute le projet sur http: // localhost: 50 il est redirigé vers https: // localhost: 5001 .

Cependant, je reçois l'erreur du navigateur disant que la connexion n'est pas sûre et me demandant d'ajouter une exception.

Qu'est-ce que je fais mal?

7
Miguel Moura

Réponse courte

Inclure le --trust option.

dotnet dev-certs https -ep "localhost.pfx" -p 1234 --trust

Cela crée un certificat qui fonctionnera avec ces appsettings.json:

"Kestrel": {
  "Certificates": {
    "Default": {
      "Path": "localhost.pfx",
      "Password": "12345"
    }
  }
}

Remarques

Si vous devez recréer le certificat, nettoyez d'abord le magasin de certificats.

dotnet dev-certs https --clean

Le --trust l'option fonctionnera immédiatement avec Chrome; avec Firefox, cependant, nous devrons encore ajouter une exception de sécurité.

En utilisant --trust signifie que nous n'avons plus besoin d'ajouter le "Kestrel" dans le fichier appsettings.json.

9
Shaun Luttin