java 尝试通过 SSL 访问 Web 服务的 Web 服务客户端 - TrustManagerFactoryImpl 未初始化
java web service client trying to access web service through SSL - TrustManagerFactoryImpl is not initialized
我是网络服务客户端,我通过 SSL 连接到网络服务。
这是一个双向SSL
并且生产者已经共享了证书。我做了 运行 InstallCert.java,获得了别名并创建了一个密钥库。
我正在使用 weblogic
应用程序服务器,并将我的密钥库放在其中。
现在当我 运行 它时,我收到一个错误,
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException:
TrustManagerFactoryImpl is not initialized
在此之前我可以看到它正在尝试加载身份证书和私钥。但是按照标准,生产者不愿意与我们共享私钥。
关于这方面的任何建议都会对我有很大帮助。谢谢
我解决了。
我将我的 .cer 文件添加到由 weblogic 服务器引用的 cacerts(使用 keytool 导入)。在密钥库部分,我保留了默认选项(演示身份和演示信任)。在 SSL 部分,我转到高级,单击复选框 ("Use JSSE SSL")。
有效。
我在连接到需要 SSL 连接的 MySQL 数据库时遇到了这个问题。
事实证明,对我来说,需要更新驱动程序版本才能正确处理 JDBC URL.
中的信任库配置
我是网络服务客户端,我通过 SSL 连接到网络服务。
这是一个双向SSL
并且生产者已经共享了证书。我做了 运行 InstallCert.java,获得了别名并创建了一个密钥库。
我正在使用 weblogic
应用程序服务器,并将我的密钥库放在其中。
现在当我 运行 它时,我收到一个错误,
Caused by: java.lang.RuntimeException: java.lang.IllegalStateException:
TrustManagerFactoryImpl is not initialized
在此之前我可以看到它正在尝试加载身份证书和私钥。但是按照标准,生产者不愿意与我们共享私钥。
关于这方面的任何建议都会对我有很大帮助。谢谢
我解决了。 我将我的 .cer 文件添加到由 weblogic 服务器引用的 cacerts(使用 keytool 导入)。在密钥库部分,我保留了默认选项(演示身份和演示信任)。在 SSL 部分,我转到高级,单击复选框 ("Use JSSE SSL")。 有效。
我在连接到需要 SSL 连接的 MySQL 数据库时遇到了这个问题。
事实证明,对我来说,需要更新驱动程序版本才能正确处理 JDBC URL.
中的信任库配置