我使用证书和安全协议调用Web服务。该应用程序运行正常,但突然开始给我网络例外。
请求已中止:无法创建SSL / TLS安全通道。
当我检查状态代码时,它是SecureChannelFailure,HResult
是2146233079
。
Web服务响应正在返回NULL
。
部分代码如下:
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我感谢任何帮助。
答案 0 :(得分:0)
可能会指出正确方向的一些问题
希望它有所帮助!
答案 1 :(得分:0)
当我添加像这样的证书
时,它对我有用X509Store certificatesStore = new X509Store(storeName, storeLocation);
certificatesStore.Open(OpenFlags.OpenExistingOnly);
var matchingCertificates = certificatesStore.Certificates.Find(X509FindType.FindBySerialNumber, serialNumber, true);
request.ClientCertificates.Add(matchingCertificates );
答案 2 :(得分:-1)
解决方法是卸载此处列出的更新。 https://blogs.windows.com/msedgedev/2016/04/29/sha1-deprecation-roadmap/
另一种方法是添加以下代码:
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
参考:Could not establish trust relationship for SSL/TLS secure channel -- SOAP
然而,这对我们不起作用。