我需要使用安全通信连接到MS sql Server 2008 r2.我已经能够使用以下连接字符串执行相同的操作:
jdbc:sqlserver://<<db server name>>:1433;databaseName=<<db name>>;selectMethod=cursor;encrypt=true;trustServerCertificate=false;integratedSecurity=false;trustStore=<<path to my trust store>>;trustStorePassword=<<password>>
在数据库服务器上,我使用Configuration Manager指定要使用的证书并启用“强制加密”
sql Server配置管理器 – > sql Server网络配置 – > <>的协议 – 右键单击 – >属性 – >强制加密和证书
但是,我可以连接到同一个数据库,而无需使用以下URL指定’encrypt = true’:
jdbc:sqlserver://<<db server name>>:1433;databaseName=<<db name>>;selectMethod=cursor;
我的困惑是,当sql Server配置为安全连接时,它不应该拒绝/忽略非加密连接.或者我是否需要进行附加配置,以便DB服务器仅接受安全连接
感谢致敬
P Manchanda
解决方法
不会.根据文档,它将具有加密连接.
When the Force Encryption option for the Database Engine is set to
YES,all communications between client and server is encrypted no
matter whether the “Encrypt connection” option (such as from SSMS) is
checked or not. You can check it using the following DMV statement.
就像这样 – 您的连接字符串设置被忽略.
这可以在服务器上通过以下方式检查:
USE master GO SELECT encrypt_option FROM sys.dm_exec_connections GO