The SSL connection could not be established, see inner exception.

The SSL connection could not be established, see inner exception.
    在Android环境中,如果调用HttpClient总是返回“The SSL connection could not be established, see inner exception.”。
  

HttpClientHandler httpClientHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) =>
{
return true;
}
};
_baiduApi = RestService.For<IBaiduApi>(new HttpClient(httpClientHandler)
{
BaseAddress = new Uri("https://baidu.com"),
});

用以上代码发现,arg4 总是返回 System.Net.Security.SslPolicyErrors.RemoteCertificateChainErrors,则说明是证书的证书链有问题,Android会验证证书链,而这个证书链并不会自动下载,导致错误,解决方案:让运维更改AWS服务器的证书,在AWS证书设置中,证书链是可选项,如果没有添加证书链导致这个bug。

posted @ 2023-02-03 15:24  醉梦ai天涯  阅读(1945)  评论(0编辑  收藏  举报