我正在配置HTTPS的结构应用程序上工作。尽管我具有有效的安装证书,但它抛出异常。
答案 0 :(得分:18)
我正在使用OSX,dotnet dev-certs https --clean
和sudo dotnet dev-certs https --clean
对我不起作用。最终,我可以通过以下步骤对其进行修复。
localhost
证书dotnet dev-certs https -t
您现在应该可以正常运行了。
编辑:
如果按照上述答案进行操作后,您确实遇到了读取There was an error saving the HTTPS developer certificate...
的错误,请查看此答案https://stackoverflow.com/a/56709117/621827
答案 1 :(得分:2)
this blog的这些说明对我有用
答案 2 :(得分:2)
答案 3 :(得分:2)
我希望没有人对此做评论,所以可以单独回答。这是我找到的解决方案,在SO或其他站点的其他任何地方都没有提到。这特定于Windows证书管理器,不确定其他操作系统是否遇到类似问题。
dotnet dev-certs https
自变量我尝试了dotnet dev-certs https
与--trust
,--clean
--verbose
(似乎并没有实际记录任何其他信息)和--check
的各种组合(从未找到证书)
根据其他答案的建议,我与certmgr.msc
一起删除了dotnet dev-certs https --clean
中受信任的根证书颁发机构\证书下的所有 localhost 证书, / p>
最终,我意识到certmgr.msc
在个人\证书下还显示了许多 localhost 证书。原来,这些也需要删除。
然后一次运行dotnet dev-certs https -t
并创建并信任新的开发证书。
我通过调试ASP.NET Core App进行了验证。验证的另一种方法是运行dotnet dev-certs https --check --verbose
答案 4 :(得分:1)
我遇到了类似(但不完全相同)的问题。
使用2.1,您必须配置您的证书。
我现在完全在appsettings.json 中执行此操作。
您可以在这里找到我的帖子:
Configure self hosting Kestrel App with certificate for https (internet web server)
仅查看解决方案...
答案 5 :(得分:0)
我遇到了相同的问题并进行了清理->然后安装证书对我有所帮助(此处还有另一个答案)。您也可以像生产服务器一样issue a certificate。很有帮助。
答案 6 :(得分:0)
我在使用Visual Studio的Windows 10系统上遇到了此问题。问题似乎是GUI中用于清除HTTPS本地证书的命令失败,并出现一条错误消息,我无法再复制该消息。
对我来说,解决方案是为当前Windows帐户打开certmgr并删除所有个人localhost证书。我那里有大约20个证书,因为我尝试过多次重新创建它们。删除所有这些证书后,我再次运行了.Net核心HTTPS API,一切正常!
总而言之,请为当前用户打开certmgr并清除所有个人/本地主机证书。
答案 7 :(得分:0)
不确定这是否对其他人有帮助,但是我的Mac上确实有这个问题。我的项目在Dropbox中,因此可以在所有计算机之间共享,在“第二台”计算机上,我必须进入并手动删除“ obj”和“ bin”文件夹,然后重新运行该应用程序,一切正常>
答案 8 :(得分:0)
我遇到了同样的问题。 问题在于该项目使用.net 4.6.1,而不是.net core。
答案 9 :(得分:0)
在Windows中, dotnet dev-certs https --clean
对我不起作用,我必须手动删除这些本地证书。
dotnet dev-certs https -t
答案 10 :(得分:0)
我在命令提示符下运行它。顺便说一句我正在使用Window 10 dotnet开发人员证书https dotnet dev-certs https -t
答案 11 :(得分:0)
答案 12 :(得分:0)
我在“Startup.cs”文件中评论了以下行,它对我有用。
app.UseHttpsRedirection();
答案 13 :(得分:0)
我遇到了这个问题,我的解决方案是重新启动。当我这样做并重新打开 Visual Studio 2019 时,它要求我接受新的 SSL 证书。之后,我就可以运行我的程序了。
答案 14 :(得分:0)
还有一个细节 - 如果您通常以普通(非管理员)用户身份登录,请不要从管理员命令提示符运行“dotnet dev-certs https”命令如果您有单独的管理员级别身份。在正常登录的正常命令提示符下运行它们。问我怎么知道。 :-P
如果您从提升的命令提示符(使用明显独立的管理员身份)运行这些命令,您将遇到以下情况:
如果您看到这些问题,请从普通命令提示符运行“dotnet dev-certs https”命令。为我修好了。希望这可以帮助某人,而无需花费我在此上所做的时间!
答案 15 :(得分:0)
如果 dotnet dev-certs https --clean
不起作用。