欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.netcore接口访问时提示ssl证书错误的解决办法

程序员文章站 2022-04-06 20:14:08
今天做了一个新接口部署到测试服务器后,使用.net core开发,测试环境也安装了ssl证书,绑定了https证书供其他项目组调用的数据接口,调用时提示ssl证书错误。...

今天做了一个新接口部署到测试服务器后,使用.net core开发,测试环境也安装了ssl证书,绑定了https证书供其他项目组调用的数据接口,我自己也在本地自测后通过,部署之后用我自己编写的代码测试工具调用测试,也是没问题的。交付文档给同事之后,对方在调取时反馈ssl证书错误。

既然是ssl证书错误,首先想到的是运维检查是证书的问题,或者服务器设置的问题。因为申请运维比较麻烦,虽然已经反馈,但是着急调试程序,所以想从代码上解决问题。

下面是postman的测试截图

.netcore接口访问时提示ssl证书错误的解决办法

看提示是证书不匹配。

用同事的代码测试确实有报ssl证书错误,后换了一种方式,忽略掉证书检测警告,本地也不需要证书。

代码如下



var httpClientHandler = new HttpClientHandler
            {
                ServerCertificateCustomValidationCallback = (s, c, ch, ssl) => true
            };
            var client = new HttpClient(httpClientHandler);

            ////转为链接需要的格式
            HttpContent httpContent = new JsonContent(datajson);
            var result = client.PostAsync(url, httpContent).Result;
            if (result.IsSuccessStatusCode)
            {
                Task<string> t = result.Content.ReadAsStringAsync();
                if (t != null)
                {
                    return t.Result;
                }
            }

            return "";


总结,以上就是core中忽略https证书警告的调用代码,后测试正常使用,问题解决。

来源:,分享请保留出处。