我们正尝试通过以下代码使用SSL(Java客户端)连接到Tibco EMS
factory = new com.tibco.tibjms.TibjmsConnectionFactory(serverUrl);
connection = factory.createConnection(userName,password);
我收到此错误:
无法通过SSL连接到[ssl:// host:8132]:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求的有效证书路径目标
如何指定到所请求目标的认证路径?
我的C#客户端代码带有EMSSSL.SetTargetHostName("UAT_5653")
,但是在Java JMS中不知道如何设置
com.tibco.tibjms.TibjmsSSL.setExpectedHostName(ssl_hostname);
com.tibco.tibjms.TibjmsSSL.setIdentity(ssl_identity,ssl_key,ssl_password);
com.tibco.tibjms.TibjmsSSL.setVerifyHostName(false);
com.tibco.tibjms.TibjmsSSL.addTrustedCerts(cert);
答案 0 :(得分:0)
这些参数可以在工厂对象中设置,例如:
TibjmsConnectionFactory factory = new com.tibco.tibjms.TibjmsConnectionFactory(serverUrl);
factory.setSSLExpectedHostName(ssl_expected_hostname);
factory.setSSLIdentity(ssl_identity,ssl_key,ssl_password);
factory.setSSLEnableVerifyHostName(false);
factory.setSSLTrustedCertificate(cert);
Connection connection = factory.createConnection(userName,password);
有关更多信息,您可以查看docs。