我正在围绕 SSL\TLS 和 SQL Server 2017 进行测试。我通过创建自签名证书并执行所需步骤将其添加到 Windows 证书存储区,然后将其添加到 SQL Server,在测试 SQL Server 实例上启用了 TLS在配置管理器中。我还将“强制加密”设置为“开”,并重新启动了服务。据我所知,这足以在 SQL Server 端启用 TLS。
对于连接到 SQL Server 实例的其他计算机上的客户端应用程序,我对使用 SqlClient 的连接的连接字符串要求是什么感到困惑。我阅读后的理解是,必须将“TrustServerCertificate=true”添加到连接字符串中,但似乎可以在没有它的情况下进行连接。
这是因为服务器上的证书被视为来自受信任的机构吗?
不,
或多或少的意思
忽略认证来源验证
当使用自签名证书进行加密时,它在 env 中使用。最好使用由CA生成并由您的AD GPO分发的证书。在这种情况下,您不需要使用 'TrustServerCertificate=true'; 但请务必在连接字符串中使用证书内服务器的FQDN 。