使用SSL Java客户端连接到Tibco EMS

时间:2019-06-07 13:26:20

标签: java ssl-certificate jms tibco-ems

我们正尝试通过以下代码使用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);

1 个答案:

答案 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