参考链接1:微信支付- "请求被中止: 未能创建 SSL/TLS 安全通道"解决办法 - 草莓爸 - 博客园
参考链接2:"请求被中止: 未能创建 SSL/TLS 安全通道"解决办法 - JesseLZJ - 博客园
说明:参考链接1和2是先将证书导入到证书管理器,然后再获取证书管理器的方式得到的解决问题的结果,亲测过是可行的。但不是我个人需要用的方法。
最近在弄企业微信向个人用户零钱付款的功能,在调试时是没有问题的,但上传到服务器后,一直提示“未能创建 SSL/TLS 安全通道”。先说结果,最后发现,其实是网上大多数提供的代码有问题。网上代码如下:
注意红框里的代码。
这里是因为 request.ClientCertificates.Add(cert);方法接受的参数实例类型并不是X509Certificate2实例,而是X509Certificate实例引起的。request识别不到ClientCertificates里的X509Certificate证书(按上面代码创建的证书,虽然X509Certificate2能被添加,但是不能被识别的)所以就会一直提示“未能创建 SSL/TLS 安全通道”。我们只需要将X509Certificate2实例换成X509Certificate实例即可。如下图: