gpt4 book ai didi

java - 如何使用 MariaDB Connector/J 与 MySQL 建立 SSL 连接?

转载 作者:行者123 更新时间:2023-11-28 23:30:49 24 4
gpt4 key购买 nike

我正在使用启用了 SSL 的 MySQL 5.7.10 并根据 these instructions 生成证书.我的 Java 7 应用程序使用 MariaDB Connector/J并且在 JDBC URL 中启用了 SSL:

jdbc:mysql://dbservername:3306/dbname?useSSL=true&trustServerCertificate=false

但是连接失败:

Caused by: java.lang.RuntimeException: Could not generate DH keypair
...
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of
64, and can only range from 512 to 1024 (inclusive)

根据 this blog post ,问题可以通过以下方式解决:

  1. 升级到 Java 8(或更高版本)。
  2. 正在降级到 MySQL 5.7.5(或更低版本)。
  3. 不包括 Diffie-Hellman (DH) 密码。

(1) 不是我正在处理的项目的选项。 (2) 似乎具有限制性并且会阻止访问 future 的 MySQL 改进。 (3) 似乎最有前途:我已经验证它确实适用于 MySQL connector/J但不幸的是,它的 GPL 许可证阻止我在我的项目中使用它。

MariaDB Connector/J 是否具有与 enabledSSLCipherSuites 等效的属性,或者是否有任何其他方法可以防止它在连接时使用 DH 密码?

最佳答案

请求的功能选项现已在 MariaDB Connector/J 版本 1.5.0-RC 中实现:

enabledSslProtocolSuites Force TLS/SSL protocol to a specific set of TLS versions (comma separated list). Example : "TLSv1, TLSv1.1, TLSv1.2" Default: TLSv1, TLSv1.1. Since 1.5.0

enabledSslCipherSuites Force TLS/SSL cipher (comma separated list). Example : "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384" Default: use JRE ciphers. Since 1.5.0

(请参阅问题下方的评论,release notesthis Jira ticket。)

关于java - 如何使用 MariaDB Connector/J 与 MySQL 建立 SSL 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394016/

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