Cha*_*ash 5 java sql-server ssl ssl-certificate
如何使用自签名证书通过java程序实现与mssql服务器的SSL连接以进行测试?目前我已经尝试使用连接字符串进行连接,如下所示:
String dbUrl = "jdbc:sqlserver://" + server + ":" + port
+ ";databaseName=" + database + ";user="+ username
+ ";password=" + password
+ ";encrypt="+true
+ ";integratedSecurity="+true
+ ";trustServerCertificate="+false
+ ";hostNameInCertificate=?"
+ ";trustStore=?;trustStorePassword=?";
Run Code Online (Sandbox Code Playgroud)
我现在很困惑应该在“?”处放置什么?上面连接字符串中的位置。
我还可以通过以下方法从 Management Studio 连接 mssql:
然后在服务器证书的右侧面板上,单击创建自签名证书并提供友好名称。> 好的。现在证书已经准备好了。
打开MMC,在cmd中输入mmc
添加MSSQL用户,添加授予读取权限。
现在打开 SQL Server 配置管理器
在证书选项卡中,选择最近添加的证书
重新启动 SQL Server 服务。
但如何与java程序连接呢?trustStore 和 trustStorePassword 字段中应保留什么?
工作环境:Windows 8、mssql server 2012
我确信您现在已经解决了这个问题!但如果其他人遇到同样的问题,请在此处解决: https://msdn.microsoft.com/en-us/library/bb879949(v=sql. 110).aspx
当 encrypt 属性设置为 true 且 trustServerCertificate 属性设置为 true 时,Microsoft JDBC Driver for SQL Server 将不会验证 SQL Server SSL 证书。这通常是允许在测试环境中进行连接所必需的,例如 SQL Server 实例仅具有自签名证书的情况。
String connectionUrl =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;integratedSecurity=true;" +
"encrypt=true;trustServerCertificate=true";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35012 次 |
| 最近记录: |