我工作在一个织物应用程序,其中我已经配置 HTTPS。它抛出了一个异常,尽管我有一个有效的安装证书。
我也有过类似的问题(但不完全一样)。 有了2.1你必须 配置你的证书。 我现在这样做 完全在应用程序中。 你可以在这里找到我的帖子: 配置自托管 Kestrel 应用程序与证书的 https (互联网网络服务器)
只要看看解决方案..。
这个博客的这些指令对我很有用
我有同样的问题和清洁-> 然后安装证书帮助我(另一个答案在这里)。您也可以像生产服务器一样使用 签发证书。知道这个很有帮助。
我在使用 Visual Studio 的 Windows 10系统上遇到了这个问题。问题似乎是 GUI 中用于清除 HTTPS 本地证书的命令失败了,出现了一个我无法再复制的错误消息。
对我来说,解决方案是打开当前 Windows 帐户的 certmgr 并删除所有个人本地主机证书。那里有大约20张证书,因为我曾多次尝试重新创建它们。在删除所有这些证书之后,我运行了。网络核心 HTTPS API 再次和一切工作!
总之,为当前用户打开 certmgr 并清除所有个人/本地主机证书。
我在 OSX 和 dotnet dev-certs https --clean和 sudo dotnet dev-certs https --clean都不为我工作。最后,我能够通过以下步骤修复它。
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
There was an error saving the HTTPS developer certificate...
对我来说,问题是通过跑步解决的:
不知道这对其他人有没有帮助,但我的 Mac 电脑就有这个问题。我在 Dropbox 中有这个项目,所以它是跨机器共享的,在“第二台”机器上,我必须手动删除“ obj”和“ bin”文件夹,然后重新运行应用程序,一切正常
如果您希望使用的环境不是 Development,不要忘记只有当 env 是 Development 时才会自动添加用户机密。
您可以使用 AddUserSecsecret方法来解决这个问题:
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.ConfigureAppConfiguration((hostingContext, builder) => { var env = hostingContext.HostingEnvironment; if (env.IsEnvironment("Local")) { builder.AddUserSecrets<Startup>(); } }) .UseStartup<Startup>(); });
参见: https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-3.1&tabs=windows#access-a-secret
我也有同样的问题。 问题是这个项目使用的是.net 4.6.1而不是.net core。
在 Windows 中, dotnet dev-certs https --clean对我不起作用,我必须手动删除这些本地主机证书。
我在命令提示符下运行它 Dotnet dev-certs https Dotnet dev-certs https-t
(对于 Windows,不确定是否存在其他操作系统的相同问题/解决方案)
在命令提示符或 Powershell 终端中:
certmgr.msc
dotnet dev-certs https --check --verbose
您可能还需要在创建新证书之前运行 dotnet dev-certs https --clean。
有关详细信息,请访问 GitHub 问题页面 给你以及官方文档 给你
我在‘ Startup.cs’文件中注释了下面一行,它对我很有用。
app.UseHttpsRedirection();
我遇到了这个问题,我的解决方案是重新开始。当我这样做并重新打开 VisualStudio2019时,它要求我接受一个新的 SSL 证书。在那之后,我就可以运行我的程序了。
还有一个细节——如果您通常作为普通(非管理)用户登录,请不要从管理命令提示 如果您有一个单独的管理级别标识运行“ dotnet dev-certs https”命令。在正常登录名下的正常命令提示符下运行它们。问我怎么知道的。翻译: 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝 P- 小宝宝
如果您在提升的命令提示符下运行这些命令(使用一个明显独立的管理标识) ,您将会遇到以下情况:
如果看到这些问题,请从普通命令提示符运行“ dotnet dev-certs https”命令。帮我修好了。希望这能帮到别人,而不是像我一样浪费时间在这上面!
如果 dotnet dev-certs https --clean不工作。
对于我删除的文件下的 file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates和运行在 cmddotnet dev-certs https -t解决了我的问题。
file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates
打开 快跑,然后键入 Mmc.exe
双击证书双击证书
删除两个文件夹中的 localhost cert
那就打开你的能量壳
dotnet dev-certs https --clean dotnet dev-certs https dotnet dev-certs https --trust
如果你正在访问这个页面,如果你像我一样不幸尝试了这个页面上提到的每一个解决方案/方法,但没有任何效果,那么你可能想知道我做了什么,解决了我的问题。
无论我删除多少次本地主机证书,我都会从我的 ASP.NET Core Web 应用程序中得到这个错误。
然后,我使用 Powershell 和这个命令创建了一个自签名证书。[我从互联网上的某个地方拷贝了这个 PowerShell 片段。不记得来源。]
$cert = New-SelfSignedCertificate -DnsName mydemowebapp.net -CertStoreLocation cert:\LocalMachine\My $pwd = ConvertTo-SecureString -String "MyPassword" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath C:\temp\cert.pfx -Password $pwd
然后,在 appsertings. Development.json 中,我添加了这个条目。
"Kestrel": { "EndPoints": { "Https": { "Url": "https://localhost:5000", "Certificate": { "Path": "C:\\temp\\cert.pfx", "Password": "MyPassword", "AllowInvalid": "true" } } } }
运行应用程序,砰! 问题解决了,我使用了和我在“启动设置”中找到的一样的 URL https://localhost:5000。
我讨厌这样的解决方案,但至少我可以用这样的解决方案继续开发。我不知道最近到底发生了什么,我不得不面对这个问题。那是 Windows 更新吗?还是别的什么?我不知道。直到最近,我才面对这个问题。 是的,我记得在 Kestrel 运行网站而不是 IIS。
生成新的证书:
$ dotnet dev-certs https --trust The HTTPS developer certificate was generated successfully.
如果使用 docker-compose 在本地运行应用程序,可能需要执行以下命令:
然后在 docker 中添加以下代码行-compose. yml:
environment: - ASPNETCORE_Kestrel__Certificates__Default__Password=password - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx volumes: - ~/.aspnet/https:/https:ro
更多细节见 https://learn.microsoft.com/en-us/aspnet/core/security/docker-compose-https?view=aspnetcore-6.0
如果您想摆脱这个问题,那么在 launchsetings.json 中更改“ useSSL”: false