.NET SqlClient -凭据传输是否加密?

2ledvvac  于 2023-03-13  发布在  .NET
关注(0)|答案(1)|浏览(147)

我已花了一些时间,试图就以下问题取得一些资料。
Net 4.5.2中的应用程序。与MS-SQL数据库建立连接。通过用户和密码进行SQL Server身份验证。

string connString = String.Format("Data Source={0};Initial Catalog={1};UID={2};Password={3}", server, database, user, password);

            SqlConnection SQLConn = null;
            SQLConn = new SqlConnection(connString);
            SQLConn.Open();

连接是如何建立的?访问数据/密码是以纯文本形式通过网络传输的,还是已经基于加密连接?
未从SQL Server设置证书,并且SQL Server配置管理器中的“强制加密”设置为“否”。
我主要关心的是登录过程,而不是将连接字符串保存在客户机/服务器或类似设备的内存中。
我试图通过谷歌和微软的文档获得这些信息。

nhjlsmyf

nhjlsmyf1#

无论您的服务器设置是什么,即使服务器没有请求加密,握手和TDS登录也始终是加密的。对于其余部分,您可以使用“Encrypt”属性在连接字符串中设置它。在TDS 8之前,或者假设SQL Server 2022,您可以将其设置为布尔值true或false。在SQL Server 2022中,已更改为可选。强制和严格。新值也是后端口兼容的。True与强制相同,Optional与False相同。通过将Encrypt值设置为Strict,您可以强制驱动程序和服务器使用TDS 8协议,结果是TLS 1.3,这当然需要SSL/TLS证书。

相关问题