【发布时间】:2021-03-07 02:50:55
【问题描述】:
我有一个包含 3 个项目、数据、API 和 IS4 的应用。
IS4 在 chrome 上返回 ERR_CERT_AUTHORITY_INVALID,我认为这是针对 asp.net 核心的 mac 发生的 SSL 错误。当我在 safari 上打开时它工作得很好,所以我继续尝试使用我的前端应用程序请求 API 资源。
但是,API 资源在 postman、safari 和 chrome 中都拒绝了我
它给了我这个:
Content root path: /Users/src/API │
fail: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[3] │
Exception occurred while processing message. │
System.InvalidOperationException: IDX20803: Unable to obtain configuration from: 'System.String'. │
---> System.IO.IOException: IDX20804: Unable to retrieve document from: 'System.String'. │
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. │
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot│
at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception) │
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean i│
sApm) │
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, Cancellation│
Token cancellationToken) │
--- End of inner exception stack trace --- │
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, Cancellation│
Token cancellationToken) │
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) │
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) │
at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) │
那是什么?我尝试了我在 google 上找到的大多数解决方案,this、this 和 this。即使在这两个命令之后我也无法让它工作:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
谁能告诉我发生了什么?我相信在从 .net core 3.1 升级之前不是这样的
谢谢
【问题讨论】:
-
由于证书链中的错误,远程证书无效:UntrustedRoot。你累了吗docs.microsoft.com/pl-pl/aspnet/core/security/…
-
是的,我在我的问题结束时说过。我已经试过了,谢谢
-
我知道您说的是关于运行命令,但您必须先执行一些步骤。我想知道你是否也检查过。
-
嘿,是的,我只是按照它从钥匙串中删除它然后重新执行命令。虽然很奇怪,但仍然对我不起作用
-
我会检查您使用的证书在您的密钥库中是否有效。也许您缺少一些证书?也许证书是为特定 IP 或主机名创建的,而您在不同的主机(docker 等)上使用它
标签: c# asp.net-core ssl