【发布时间】:2017-09-26 09:39:30
【问题描述】:
我们有一个内部 C#.Net WinForm 应用程序,它安装在用户计算机上并连接到 SQL Server 2008 数据库。我们进行了一次安全审查,发现从数据库发送回应用程序的通信是纯文本的,因此可能会被嗅探工具拦截。
我需要采取哪些步骤来确保 WinForm 应用使用 TLS 1.2 协议与数据库进行通信?
【问题讨论】:
-
看看 ServicePointManager.SecurityProtocol。这可能会满足您的需求。
-
安全审查没有发现您使用的是不支持的数据库版本?您可以使用 SSL 连接到 SQL Server,但 TLS1.2 在客户端需要 至少 .NET 4.5.2。您必须在服务器上启用加密连接。检查Encrypting Connections to SQL Server。
-
@Wheels73 这与数据库连接无关。
-
有一个Microsoft KB Article 解释了您需要安装哪些补丁才能启用 TLS1.2 一直到 2008 年
-
同时查看ConnectionString 文档。你需要在你的连接字符串中设置
Encrypted=true,也可能是TrustServerCertificate
标签: c# .net sql-server winforms tls1.2