Asp.net core 在开发时使用ASP.NET Core 2.1中的SSL证书
在ASP.NET Core 2.1 I应用程序appSettings文件上,我具有以下内容:Asp.net core 在开发时使用ASP.NET Core 2.1中的SSL证书,asp.net-core,asp.net-core-2.1,Asp.net Core,Asp.net Core 2.1,在ASP.NET Core 2.1 I应用程序appSettings文件上,我具有以下内容: "Kestrel": { "Certificates": { "Default": { "Path": "localhost.pfx", "Password": "1234" } } } 我使用dotnet命令创建了证书: dotnet dev-certs https -ep "localhost.pfx" -p 1234 我将localhost.
"Kestrel": {
"Certificates": {
"Default": {
"Path": "localhost.pfx",
"Password": "1234"
}
}
}
我使用dotnet命令创建了证书:
dotnet dev-certs https -ep "localhost.pfx" -p 1234
我将localhost.pfx文件沿着appSettings文件复制到项目根目录中
当我在上面运行项目时,它被重定向到
但是,我收到浏览器错误,说连接不安全,并要求我添加异常
我做错了什么?简短回答
包括--trust
选项
dotnet dev-certs https -ep "localhost.pfx" -p 1234 --trust
创建将与以下appsettings.json一起使用的证书:
"Kestrel": {
"Certificates": {
"Default": {
"Path": "localhost.pfx",
"Password": "12345"
}
}
}
笔记
如果需要重新创建证书,请先清理证书存储
dotnet dev-certs https --clean
--trust
选项将立即适用于Chrome;不过,对于Firefox,我们仍然需要添加一个安全异常
使用
--trust
意味着我们不再需要在appsettings.json文件中添加“Kestrel”
部分。您使用的浏览器是什么?我试过Firefox和Google Chrome您试过使用dev certs
命令中的--trust
标志吗dotnet dev certs https-ep“localhost.pfx”-p 1234--trust
。为了获得信任,必须将自签名证书添加到Windows中的信任证书存储中(这是--trust
参数实现的),但您也可以手动执行。然而,这只会影响依赖Windows可信证书存储的浏览器,据我所知,该存储只有IE、Edge和Chrome。尤其是Firefox,没有,所以您仍然需要在Firefox中添加一个手动异常。使用您建议的选项,仍然需要将证书添加到项目路径并将kestrel部分添加到设置中?我问这个问题是因为我认为使用本地证书文件(例如,在项目根上)没有必要将其添加到存储中。否。使用--trust
标志,无需将自定义kestrel设置添加到appsettings.json。使用非自签名证书生产的SSL如何?@Wes我建议打开另一个StackOverflow问题。