C# 应用程序无法建立 SSL/TLS 连接

标签 c# security ssl networking https

我的 C# 应用程序在尝试将文件保存到远程 SharePoint 服务器时生成错误“请求已中止:无法创建 SSL/TLS 安全通道”。这发生在 Windows 2012 服务器上,但应用程序在我的桌面 Windows 机器上成功运行。

此外,在开发服务器上,我可以使用 IE11 连接到 SharePoint 服务器,并且只启用了 TLS 1.1。

应用程序启用了所有安全协议(protocol)。

我也知道应用程序从不调用 certificatevalidationcallback 函数。

鉴于这些症状,有人知道可能出了什么问题吗?

最佳答案

经过大量实验,我找到了解决方案,但我仍然感到困惑。解决方案原来是使用

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11;

这并不奇怪。令人惊讶的是,当我收到错误时,我正在使用

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;

我指定了这两种协议(protocol),因为我不确定远程服务器使用的是哪种协议(protocol),而且我认为允许这两种协议(protocol)都没有坏处。

现在我想知道为什么允许第二个协议(protocol)会导致应用程序无法建立安全通道。

关于C# 应用程序无法建立 SSL/TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42979594/

相关文章:

c# - 为什么 Visual Studio 能够从 DLL 获取方法名称,但 dumpbin 却不能

php - 如何防止 PHP 中的 SQL 注入(inject)?

ssl - 外部网站的自签名证书

单击时 html 按钮不转到链接,可能是由 codeigniter 3.0 引起的?

c# - 如何将 PL/SQL 输出 (clob) 保存为 XML 文件?

c# - 在 .NET 中,finally 是否等同于 try-catch-throw?

c# - 使用 Array.sort() 方法时数组的最大大小是多少?

vba - 如何禁用 Access 安全通知 "A Potential security concern has been identified"

javascript - 我应该在 eval() 中过滤哪些关键字?

ssl - 客户端证书提示不显示nginx