.NET SqlClient - 凭据加密传输?

问题描述 投票:0回答:1

我已经花了一些时间试图获得有关以下问题的一些信息。

.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 配置管理器中的“强制加密”设置为“否”。

我主要关心登录过程。 不是将连接字符串保存在客户端/服务器或类似的内存中。

我试图通过谷歌和 MS 文档获取这些信息。

.net sqlclient
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.