小编Lar*_*ard的帖子

使用“encrypt=false”连接到 SQL Server 时的 TLS

我正在尝试将 SQL Server 2017 Express Edition 配置为使用 TLS 1.2 加密,并接受来自简单测试 JDBC 程序的连接。我对 java 和 MSSQL 相当有经验,但对加密方​​面不太了解。我正在尽可能地遵循微软的文档。

我有一个非常简单的 JDBC 测试程序,而我的 SQL Server 仍然将“强制加密”设置为“否”。

当我使用简单的 URL 连接到服务器时:

jdbc:sqlserver://...\SQLEXPRESS:1433;databaseName=...;user=...;password=...

它因可怕的事情而失败:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

当我将“;encrypt=false”附加到 URL 时,它连接正常。

但是,当我对成功交易进行 Wireshark 网络跟踪(使用“encrypt=false”)时,我仍然在跟踪中看到看起来像 TLSv1.2 握手的内容。Wireshark 中这些记录的“信息”是:

  1. 《客户您好》
  2. “服务器问候、证书、服务器密钥交换、服务器问候完成”
  3. “客户端密钥交换、更改密码规范、加密握手消息”
  4. “更改密码规范,加密握手消息”
  5. “申请数据”

这些是什么?由于我已指定“encrypt=false”,因此我希望在跟踪中看不到 TLS。

谢谢。

sql-server encryption

4
推荐指数
1
解决办法
4281
查看次数

标签 统计

encryption ×1

sql-server ×1