TLS / SSL - C# - 如何对远程sql服务器执行查询?

时间:2015-11-16 15:55:57

标签: c# sql-server ssl

我有一个winforms C#应用程序,它必须从远程SQL Server安全地发送和接收信息。目前,我刚刚在我的机器上使用内置类测试数据库,例如的SqlConnection。

我需要将程序连接到远程SQL Server,对它执行查询。这两台计算机都在我的组织的控制之下,虽然远程工作人员不在现场,可能正在使用3G连接。

一种选择是使用VPN连接两台计算机,然后可能是另一台计算机可见,就好像它在同一个网络上一样,然后我可以使用我的连接字符串,就像我到目前为止所做的那样,也许放入IP地址。然而,IT支持人员抱怨建立VPN。

我听说过TLS / SSL,但之前从未使用过。我可以使用它直接向SQL Server发送SQL查询吗?

1 个答案:

答案 0 :(得分:1)

SQL Server的SSL连接正在加密服务器套接字连接。使用SQL Server,每次启动SQL Server时都会创建临时证书。在客户端,您让客户端接受任何证书,这可以确保您的套接字已加密(在中间攻击中仍然对Man开放)。您还可以在双方使用自己签名的证书进行SSL连接。 DBA设置了这一点,除了可能设置自己的证书和更改连接字符串之外,没有什么特别的事可做。

MSDN Using SSL Encryption

通常,数据中心(或主机 - 主机)通过私有LAN / VPN隧道连接,也是加密的,在这种情况下,它将是第二层保护。如果您有VPN,则可能会使用SSL证书内置的服务器。这为您节省了每年必须维护证书的工作。