开发时在ASP.NET Core 2.1中使用SSL证书

Mig*_*ura 7 asp.net-core asp.net-core-2.1

在ASP.NET Core 2.1 I应用程序的appSettings文件中,我具有以下内容:

"Kestrel": {
  "Certificates": {
    "Default": {
      "Path": "localhost.pfx",
      "Password": "1234"
    }
  }
}  
Run Code Online (Sandbox Code Playgroud)

我使用dotnet命令创建了证书:

dotnet dev-certs https -ep "localhost.pfx" -p 1234
Run Code Online (Sandbox Code Playgroud)

然后将localhost.pfx文件复制到appSettings文件的项目根目录中。

当我在http:// localhost:5000上运行项目时,它将重定向到https:// localhost:5001

但是,我收到浏览器错误,提示连接不安全,并要求我添加一个例外。

我究竟做错了什么?

Sha*_*tin 10

简短答案

包括--trust选项。

dotnet dev-certs https -ep "localhost.pfx" -p 1234 --trust
Run Code Online (Sandbox Code Playgroud)

这将创建一个可以与以下appsettings.json一起使用的证书:

"Kestrel": {
  "Certificates": {
    "Default": {
      "Path": "localhost.pfx",
      "Password": "12345"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

笔记

如果需要重新创建证书,请首先清洁证书存储。

dotnet dev-certs https --clean
Run Code Online (Sandbox Code Playgroud)

--trust选项将立即与Chrome配合使用;但是,使用Firefox,我们仍然需要添加安全例外。

使用--trust意味着我们不再需要将该"Kestrel"部分添加到appsettings.json文件中。