现象:
C#微信支付请求接口的时候报异常:“请求被中止: 未能创建 SSL/TLS 安全通道.”
本地开发环境正常,部署服务器上报错。
一、检查自己的证书是否安装
二、确认证书已经安装
1、给证书添加调用权限,首先下载官方WinHttpCertCfg.exe,地址:https://www.microsoft.com/en-us/download/confirmation.aspx?id=19801
默认安装目录:C:\Program Files (x86)\Windows Resource Kits\Tools ,直接cmd
2、执行一下三个命令:证书颁给者值=默认应该就是你的商户号
winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书颁给者值" -a "NETWORKSERVICE"
winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书颁给者值" -a "ASPNET"
winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书颁给者值" -a "Authenticated Users"
以上两个步骤应该就可以解决此类问题。
三、以上步骤处理完毕后,还报错误,
检查代码里面调用证书的X509Certificate2 cert = new X509Certificate2("","");修改为X509Certificate cert = new X509Certificate("","");
再次确认。