所以我连接到第三方API,它需要加载.p12证书才能进行身份验证。在本地主机上一切正常,但在远程共享主机上,我得到了可怕的“请求被中止:无法创建SSL/TLS安全通道”错误。我的网站是asp.net framework 4.7,并有一个安全的SSL连接。我已经添加了
'System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
字符串
到Global.asax(如果不是,它甚至不会在本地主机上运行)。感谢任何关于如何解决这个问题的灯。
下面是在localhost上运行良好的测试代码:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Dim certPath As String = Server.MapPath("~/BolsasPixCert.p12")
Dim uidCert As X509Certificate2 = New X509Certificate2(certPath, "")
Dim options = New RestClientOptions("https://pix.api.efipay.com.br") With {
.ClientCertificates = New X509CertificateCollection() From {
uidCert
},
.ThrowOnAnyError = True
}
型
1条答案
按热度按时间zxlwwiss1#
好了,我终于在smarterasp.net KB上找到了答案:
1.添加X509键盘标志. MachineKeySet:
Dim uidCert As X509Certificate2 =新X509Certificate2(certPath,“",X509Keys Flags.MachineKeySet)
1.确保您正在bin文件夹中引用System.Net.Http. dll