gpt4 book ai didi

java - 从 Java 程序到 mssql 的 SSL 连接

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:25 27 4
gpt4 key购买 nike

如何使用自签名证书通过 java 程序实现与 mssql 服务器的 SSL 连接以进行测试?目前我已经尝试使用连接字符串进行连接,如下所示:

String dbUrl = "jdbc:sqlserver://" + server + ":" + port
+ ";databaseName=" + database + ";user="+ username
+ ";password=" + password
+ ";encrypt="+true
+ ";integratedSecurity="+true
+ ";trustServerCertificate="+false
+ ";hostNameInCertificate=?"
+ ";trustStore=?;trustStorePassword=?";

我现在很困惑什么应该放在“?”在上面的连接字符串中的位置。

我还可以通过以下方法从 Management Studio 连接到 mssql:

  • 创建自签名证书:
  • 转到控制面板
  • 管理工具
  • IIS 管理器
  • 服务器证书
  • 然后在服务器证书的右侧面板上,单击创建自签名证书并提供友好名称。 > 好的。现在证书准备好了。

  • 打开 MMC,在 cmd 中输入 mmc

  • 添加/删除管理单元
  • 选择证书
  • 添加
  • 下一步,选择本地计算机,完成,确定
  • 展开Certificates,Personal,Certificates,我们可以看到最近添加的证书。
  • 选择证书,右击,所有任务,管理私钥
  • 添加MSSQL用户,添加读取权限。

  • 现在打开 SQL Server 配置管理器

  • SQL 服务器网络配置、属性
  • 将强制加密设置为是,
  • 在证书选项卡中,选择最近添加的证书

  • 重新启动 SQL Server 服务。

  • 尝试加密连接到数据库并连接。

但是如何将它与java程序连接起来呢? trustStore 和 trustStorePassword 字段应该保留什么?

工作环境:Windows 8、mssql server 2012

最佳答案

我相信您现在已经解决了这个问题!但如果其他人遇到同样的问题,请在此处解决: https://msdn.microsoft.com/en-us/library/bb879949(v=sql.110).aspx

When the encrypt property is set to true and the trustServerCertificate property is set to true, the Microsoft JDBC Driver for SQL Server will not validate the SQL Server SSL certificate. This is usually required for allowing connections in test environments, such as where the SQL Server instance has only a self signed certificate.

String connectionUrl = 
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;integratedSecurity=true;" +
"encrypt=true;trustServerCertificate=true";

关于java - 从 Java 程序到 mssql 的 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20784407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com