首页 > 解决方案 > C# API 调用另一个 api 失败,并显示“远程证书根据验证过程无效”

问题描述

我正在构建一个调用另一个 API 进行进一步处理的 API。我有两个 API 在本地运行,但是当我从第一个 API 调用第二个 API 时,我收到以下错误:

发生异常:CLR/System.AggregateException System.Private.CoreLib.dll 中发生“System.AggregateException”类型的异常,但未在用户代码中处理:“发生一个或多个错误。” 发现内部异常,请参阅变量窗口中的 $exception 了解更多详细信息。最里面的异常 System.Security.Authentication.AuthenticationException :根据验证过程,远程证书无效。在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Net.Security.SslStream.StartSendAuthResetSignal(ProtocolToken 消息,AsyncProtocolRequest asyncRequest,ExceptionDispatchInfo 异常) 在 System.Net.Security.SslStream.CheckCompletionBeforeNextReceive(ProtocolToken 消息,AsyncProtocolRequest asyncRequest) 在System.Net.Security.SslStream。1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action 1 endAction, Task1 promise, Boolean requiresSynchronization) at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() 在 System.Net.Http.ConnectHelper.d__4.MoveNext()

第一个 API 的代码是:

public IActionResult Validate([FromBody] Website data)
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("https://localhost:5003/");
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var response = client.PostAsJsonAsync("Routing", data).Result; //error occurs here

        return Ok();
    }

是的,我知道我实际上并没有处理结果,只是返回一个 OK 响应,但现在,我只是想在扩展代码之前让它们成功连接。

我以前从未对证书做过任何事情,因此非常感谢您提供任何帮助

标签: c#api

解决方案


推荐阅读