我已花了一些时间,试图就以下问题取得一些资料。
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配置管理器中的“强制加密”设置为“否”。
我主要关心的是登录过程,而不是将连接字符串保存在客户机/服务器或类似设备的内存中。
我试图通过谷歌和微软的文档获得这些信息。
1条答案
按热度按时间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证书。