我有一个c#应用程序,当它尝试将文件保存到远程SharePoint服务器时,它会生成错误“请求已中止:无法创建SSL/TLS安全通道”。这发生在Windows2012服务器上,但应用程序在我的桌面Windows机器上成功运行。
此外,在开发服务器上,我可以使用IE11连接到SharePoint服务器,只启用了TLS1.1。
应用程序启用了所有安全协议。
我还知道应用程序从不调用certificatevalidationcallback函数。
考虑到这些症状,有没有人知道会出什么问题?
发布于 2017-03-29 04:21:24
经过相当多的实验,我找到了解决方案,但我仍然感到困惑。解决方案最终被证明是使用
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11;
这并不令人惊讶。令人惊讶的是,当我得到这个错误时,我正在使用
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;
我指定了这两种协议,因为我不确定远程服务器正在使用哪种协议,而且我认为允许这两种协议中的任何一种都没有缺点。
现在我想知道为什么允许第二个协议会导致应用程序无法建立安全通道。
https://stackoverflow.com/questions/42979594
复制相似问题