AuthenticationException:由于证书链中的错误,远程证书无效:UntrustedRoot

AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot

我正在执行一项任务,使用本地 WebAPI 服务从本地 ToDo WebApp 验证 Azure 中的 Active-directory B2C 实例。

除了在 Azure 的试用版订阅中添加 B2C 实例外,我还创建了 2 个应用程序 App1 和 App2。在本地 windows 10 OS,在 Visual-Studio 中,我根据 Microsoft 博客 here

收集了 ToDo Webapp 和 WebAPI 服务的代码

但是,当我启动 WebAPI 服务和 运行 ToDoWebapp 时,创建用户后的登录工作正常,但之后,对于对该服务的任何调用,我都会收到错误页面消息: AuthenticationException:由于证书链中的错误,远程证书无效:UntrustedRoot

HttpRequestException: 无法建立 SSL 连接,请参阅内部异常。

你能帮我摆脱这个错误吗?提前致谢。

请检查以下几点:

  1. 安装 .NET Core SDK 会安装 ASP.NET Core HTTPS 本地用户证书存储的开发证书作为一部分 first-run 经验,但不可信。相信 证书,执行 one-time 步骤到 运行 dotnet dev-certs 工具。
  2. 请检查证书中的证书store.Find ASP.NET 核心 HTTPS 开发的本地主机证书 当前用户 > 个人 > 证书当前用户 > 受信任的根证书颁发机构 > 证书
  3. Plesae 尝试通过仔细检查个人和受信任的根证书颁发机构来删除所有找到的证书。

Note: Do not remove the IIS Express localhost certificate.

尝试 运行 在 .NET CLI 中执行以下命令并重试

dotnet dev-certs https --clean
dotnet dev-certs https --trust

Note: Untrusted certificates should only be used during app development. Production apps should always use valid certificates.

参考文献:

  1. 信任 Windows 上的 ASP.NET 核心 HTTPS 开发证书,并且 macOS
  2. Enforce HTTPS in ASP.NET Core | Microsoft Docs