当前位置: 首页 > 知识库问答 >
问题:

当使用MySQL RDS作为后台时,如何解决WSO2IS-5.7上的未知_ca错误?

程钧
2023-03-14

我试图通过mysql-connector-java-5.1.45-bin在AWS上安装一个实例,使用AWS RDS作为我的数据源。带有jdbc url的jar

jdbc:mysql://

我有个例外

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failurecom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

    The last packet successfully received from the server was 7 milliseconds ago.  The last packet sent successfully to the server was 7 milliseconds ago.
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    .
    .
    .
    Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca

我试过逃跑

keytool -importcert -keystore <keystore> -storepass <pass> -noprompt -file rds-combined-ca-bundle.pem

在卡塞茨。jks在JVM和客户端trustore中。WSO2存储库中的jks无效

共有2个答案

谷星文
2023-03-14

根据[1]中的MySQL连接器留档,应该在JDBC url中包含以下JDBC URL参数,以启用MySQL服务器和wso2服务器之间的SSL通信。

useSSL=true
requireSSL=true
clientCertificateKeyStoreUrl
clientCertificateKeyStorePassword

我能够使用下面的JDBC URL成功创建MySQL服务器和wso2服务器之间的安全连接。

jdbc:mysql://<HOST_NAME>:<PORT>/apimgtdb?useSSL=true&amp;requireSSL=true&amp;clientCertificateKeyStoreUrl=file:<WSO2_HOME>/repository/resources/security/client-truststore.jks&amp;clientCertificateKeyStorePassword=wso2carbon
林波鸿
2023-03-14

这是因为来自数据库连接的公共证书不受WSO2身份服务器的信任。

由于您已尝试添加证书,请验证此证书是否已正确添加。

  1. 从数据库实例获取公共证书
  2. 转到

keytool-importcert-file-certificate。cer——密钥库客户端信任库。jks-别名“别名”

重新启动wso2 IS实例并检查问题是否仍然存在。

 类似资料:
  • 刚从bt转过来用amh 很早以前4.2也用过 现在搬家遇到问题 求助 程序用的maccms10 lnmp环境 现在网站前台伪静态啥的都没有问题 网站后台进不去 直接404 不知道哪出错了 百度没有相关资料

  • 在我的笔记本电脑(MSI GE63VR 7RE)上,按下空格键(和其他一些键)时,GLFW将GLFW_KEY_传递给键回调函数未知的键。 几乎所有的钥匙都有扫描码,但这些钥匙应该是特定于机器的,没有方便的方法将它们映射到正确的钥匙名称。 为什么GLFW不能识别我的空间密钥GLFW_KEY_SPACE,解决这个问题的最佳方法是什么? 我在arch linux与wayland和我使用glfw-wayl

  • 问题内容: 我在这里查看了所有其他“自动取消”问题,这些问题似乎都包含我没有犯的错误。我都尝试过 和 都不行。 由于我的最低API为8,因此我正在使用NotificationCompat。这是我的完整代码。在此特定通知中,我并不是在调用意图,因为我不需要用户执行任何操作。 通知显示完美。您可以滑动以清除它。但是,只需点击它并不会取消该通知。它只是点亮并停留在那里。 我的代码与此处发布的其他代码之间

  • 我正在用Node、Express和MongoDB构建一个REST api服务。我安装了MongoDB,它在我的PC上运行正常,本地主机:27017。我可以添加集合并阅读它们。在我的app.js文件中,我有这样的设置 我总是得到一个错误-mongoerror-cannot connect UNKNOWN我搜索了几个小时,没有找到任何解决方案。我该如何修复它,使它可以连接到MongoDB(工作正常).

  • 错误:任务“:app:processDebugManifest”的执行失败。 清单合并失败:属性元数据#android。支持VERSION@value值=(25.3.1)来自[com.android.support:appcompat-v7:25.3.1]AndroidManifest。xml:27:9-31也出现在[com.android.support:cardview-v7:26.0.0-a