下载 JDBC 驱动程序
本文中的示例描述如何使用连接字符串属性允许应用程序在 Java 应用程序中使用传输层安全性 (TLS) 加密。 有关这些新的连接字符串属性(如 encrypt、trustServerCertificate、trustStore、trustStorePassword 和 hostNameInCertificate)的详细信息,请参阅设置连接属性。
当 encrypt 属性设置为 true 且 trustServerCertificate 属性设置为 true 时,Microsoft JDBC Driver for SQL Server 将不验证SQL Server TLS 证书。 此设置常用于允许在测试环境中建立连接,如 SQL Server 实例只有自签名证书的情况。
下面的代码示例演示如何在连接字符串中设置 trustServerCertificate 属性:
当 encrypt 属性设置为 true 且 trustServerCertificate 属性设置为 false 时,Microsoft JDBC Driver for SQL Server 将验证SQL Server TLS 证书。 验证服务器证书是 TLS 握手过程的一部分,这可确保服务器是要连接到的正确服务器。 为了验证服务器证书,在连接时必须提供信任材料,既可以使用 trustStore 和 trustStorePassword 连接属性显式提供材料,也可以使用基础 Java 虚拟机 (JVM) 的默认信任存储区隐式提供材料。
trustStore 属性指定指向证书 trustStore 文件的路径(包括文件名),该文件中包含客户端信任的证书的列表。 trustStorePassword 属性指定用来检查 trustStore 数据完整性的密码。 有关使用 JVM 的默认信任存储区的详细信息,请参阅为加密配置客户端。
下面的代码示例演示如何在连接字符串中设置 trustStore 和 trustStorePassword 属性:
JDBC 驱动程序提供了另一个属性 hostNameInCertificate,该属性指定服务器的主机名。 此属性的值必须与证书的 subject 属性一致。
下面的代码示例演示如何在连接字符串中使用 hostNameInCertificate 属性:
在 encrypt 属性为 true 且 trustServerCertificate 属性为 false 的情况下,如果连接字符串中的服务器名称与 TLS 证书中的服务器名称不符,则会出现以下错误:。 在版本 7.2 及以上版本中,驱动程序在 TLS 证书的服务器名称最左边的标签中支持通配符模式匹配。
- 使用加密
- 保护 JDBC 驱动程序应用程序
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/57416.html