mFe*_*ein 5 java ssl mysql-connector amazon-web-services amazon-rds
我正在尝试与我MySQL database的Java使用MySQL Connector/J(版本5.1.45)和此AWS RDS证书建立SSL连接:https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem
但我得到以下内容Exception:
java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
Run Code Online (Sandbox Code Playgroud)
我可以将此异常追溯到MySQL Connector/J课堂ExportControlled.java上line 297:
CertPathValidatorResult result = this.validator.validate(certPath, this.validatorParams);
Run Code Online (Sandbox Code Playgroud)
然后我不能再往下走,因为这会进入JRE安全类,比如CertPathValidator.
由于我正在使用MySQL Connector/J整个SSL魔法,我的双手被束缚,我不知道发生了什么或如何解决这个问题.该证书工作正常的MySQL Workbench和Intelli J IDEA Database,所以我不知道为什么它现在正在拒绝.
我该如何解决?
我解决了很多令人头疼的问题.信任库需要拥有链的所有证书,我使用https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem,其中INORYORY拥有所有证书,但是当你将它导入密钥库文件,keytool忽略除第一个证书之外的所有证书,因此我的密钥库上只有根证书,而不是我实际需要的根和AWS Region证书.
目前,没有办法bach导入所有证书,我尝试了几种方法,包括转换为PKCS7(支持证书链),但keytool每个证书需要一个别名,所以你需要导入每个证书并给它一个别名,一个当时.
你可以让程序一次调用keytool并加载一个证书,或者你可能会像我一样懒得并使用KeyStore Explorer.您需要选择创建新的密钥库文件并pem使用该Examine File选项打开捆绑的证书,并为其上的每个证书选择import,这将导入所选的证书到新的密钥库.最后,您只需为密钥库文件定义密码并保存即可.
AWS 现在提供单独的证书,而不仅仅是捆绑包,其中包含您不需要的额外内容。请参阅使用 SSL 加密与数据库实例的连接。
您需要下载两个证书:根证书和您所在地区的中间证书。如上面的链接所述,
适用于所有地区的根证书可以在https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem下载
中间证书可以在页面下方找到。您必须使用适合您所在地区的地区,即您的数据库实例所在的地区。
您必须使用 keytool 将这两个导入新的密钥库,并通过trustCertificateKeyStoreUrl和trustCertificateKeyStorePassword参数告诉 MySQL 使用该密钥库。
我还有一个任务是让所有这些都与 Tomcat 一起工作。我通过连接 URL 设置东西的运气很差;有效的是将connectionProperties连接池中的设置为useSSL=true;requireSSL=true;verifyServerCertificate=true;trustCertificateKeyStoreUrl=file://[absolute path to keystore file];trustCertificateKeyStorePassword=[keystore password]
另一个问题是MySQL 文档似乎不正确。
它描述了以下连接属性:
clientCertificateKeyStoreUrl=file:path_to_truststore_file
clientCertificateKeyStorePassword=mypassword
Run Code Online (Sandbox Code Playgroud)
正确的连接参数是:
trustCertificateKeyStoreUrl
trustCertificateKeyStorePassword
Run Code Online (Sandbox Code Playgroud)
在页面的“用户评论”部分有一个关于此效果的注释。
| 归档时间: |
|
| 查看次数: |
5357 次 |
| 最近记录: |