无法配置HTTPS端点。未指定服务器证书,并且找不到默认的开发人员证书

Bal*_*u K 16 kestrel .net-core asp.net-core asp.net-core-2.1

我正在配置HTTPS的结构应用程序上工作。尽管我具有有效的安装证书,但它引发异常。

Pet*_*ris 47

这些博客中的这些说明对我有用

  1. dotnet开发人员证书https --clean
  2. dotnet开发人员证书https -t

  • 除了这些步骤之外,重新启动 VS 对我来说也是必要的 (3认同)
  • 马上解决了,谢谢。 (2认同)
  • 如果失败(就像我的情况一样,请查看@Stephen的答案(/sf/answers/4011087601/)-这对我有用。 (2认同)

hik*_*uen 34

我希望单独的答案没问题,因为我没有代表发表评论。这是我找到的解决方案,我在 SO 或其他网站上的其他任何地方都没有看到。这是特定于 Windows 证书管理器的,不确定其他操作系统是否遇到类似问题。

我从其他答案中尝试过的

dotnet dev-certs https 争论

我尝试了dotnet dev-certs httpswith --trust, --clean --verbose(实际上似乎没有记录任何附加信息)和--check(从未找到证书)的各种组合

证书管理器

正如其他答案中所建议的,我删除了Trusted Root Certification Authorities\Certificates下的所有localhost证书certmgr.msc并与dotnet dev-certs https --clean

解决方案

最终我意识到,除了Trusted Root Certification Authorities\Certificates下的证书外,certmgr.msc还显示了Personal\Certificates下的许多本地主机证书。原来,这些需要删除。

然后运行dotnet dev-certs https -t一次创建并信任一个新的开发证书。

我通过调试 ASP.NET Core 应用程序进行了验证。另一种验证方法是运行dotnet dev-certs https --check --verbose

  • 谢谢你。对于我来说,我需要删除 certmgr.msc -> Personal\Certficates 中的所有“localhost”证书。我已经尝试了所有其他“事情”,但在我这样做之前它没有起作用。 (3认同)
  • +1。即使在运行干净之后,Personal\Certificates 下仍然存在大量垃圾本地主机证书。谢谢。 (2认同)

小智 16

对我来说,问题是通过运行解决的:

  1. dotnet 开发证书 https --clean
  2. dotnet dev-certs https --verbose

在此处输入图片说明


Ste*_*hen 14

我在OSX和dotnet dev-certs https --cleansudo dotnet dev-certs https --clean没有为我工作。最终,我可以通过以下步骤对其进行修复。

  1. 进入钥匙串访问
  2. 解锁系统钥匙串
  3. 删除localhost证书
  4. dotnet dev-certs https -t

现在,您应该可以正常运行了。

  • 你真是个救命稻草的家伙。 (3认同)
  • 该解决方案适用于带有 .NET Core 2.1(.301) 的 OS X 10.14.6 (2认同)
  • 这个解决方案在 macOS Monterey 12.1 M1 上也适用于我 (2认同)

Vel*_*ian 10

对我来说,删除下面的文件file:\\%APPDATA%\Microsoft\SystemCertificates\My\Certificates并在 cmd 中运行dotnet dev-certs https -t解决了我的问题。


Som*_*elp 9

我在使用 Visual Studio 的 Windows 10 系统上遇到了这个问题。问题似乎是 GUI 中用于清除 HTTPS 本地证书的命令失败,并显示一条我无法再重现的错误消息。

我的解决方案是打开当前 Windows 帐户的 certmgr 并删除所有个人本地主机证书。那里有大约 20 个证书给我,因为我已经多次尝试重新创建它们。删除所有这些证书后,我再次运行了我的 .Net 核心 HTTPS API,一切正常!

总之,为当前用户打开 certmgr 并清除所有个人/本地主机证书。


Emr*_*ain 8

如果您正在访问此页面,并且您像我一样不幸地尝试了此页面上提到的每一个解决方案/方法但没有任何效果,那么您可能想知道我做了什么并解决了我的问题。

无论我删除本地主机证书多少次,我都会从 ASP.NET Core Web 应用程序中收到此错误。

在此输入图像描述

然后,我使用 Powershell 和此命令创建了一个自签名证书。[我从互联网上的某个地方复制了这个 PowerShell 片段。不记得来源了。] 首先,请确保您的计算机上有一个可写位置:C:\temp\。(您可以使用任何其他路径,只要您的网络应用程序可以读取即可)

  $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
Run Code Online (Sandbox Code Playgroud)

然后,在我的 appsertings.Development.json 中,我添加了此条目。

  "Kestrel": {
    "EndPoints": {
      "Https": {
        "Url": "https://localhost:5000",
        "Certificate": {
          "Path": "C:\\temp\\cert.pfx",
          "Password": "MyPassword",
          "AllowInvalid": "true"
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

运行应用程序,繁荣!问题解决了。我使用了与在 LaunceSettings 中找到的相同的 URL https://localhost:5000。

在此输入图像描述

我讨厌这样的解决方案,但至少我可以用这样的解决方案继续我的开发。我不知道最近到底发生了什么,我不得不面对这个问题。那是 Windows 更新吗?或者是其他东西?我不知道。我以前没有遇到过这个问题,直到最近。是的,我记得在 Kestrel 而不是 IIS 中运行网站。


Lia*_*ang 6

在 Windows 中, dotnet dev-certs https --clean对我不起作用,我必须手动删除这些本地主机证书。

  1. 打开 certmgr.msc
  2. 删除“受信任的根证书颁发机构/证书”下的所有本地主机证书
  3. dotnet dev-certs https -t


Jak*_*erp 5

我在 Mac (macOS 12.6.7) 上尝试在 VS Code 中运行 ASP.NET Core 网站项目,以上答案都不适合我。只是差不多而已。

我是如何让它发挥作用的。在终端中运行以下命令:

  • 清理 ASP.NET Core 项目:dotnet clean
  • 清除现有证书:dotnet dev-certs https --clean
  • 创建新证书:dotnet dev-certs https --trust

现在我可以使用浏览器运行该项目dotnet run并重新加载浏览器。

PS:如果你懒的话,你也可以像这样链接命令:dotnet clean && dotnet dev-certs https --clean && dotnet dev-certs https --trust


Fre*_*ger 2

我有一个类似(但不完全相同)的问题。
对于 2.1,您必须配置您的证书。
我现在完全在 appsettings.json 中执行此操作。
您可以在这里找到我的帖子:
使用 https(互联网 Web 服务器)证书配置自托管 Kestrel 应用程序

只看一下解决方案...


归档时间:

查看次数:

12736 次

最近记录:

6 年,9 月 前