【发布时间】:2025-11-13 09:30:01
【问题描述】:
我们正在尝试使用 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:无法找到请求的有效证书路径目标
如何指定请求目标的认证路径?
我有 EMSSSL.SetTargetHostName("UAT_5653") 的 C# 客户端代码,但在 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);
【问题讨论】:
-
错误与证书路径有关。 “cert”变量中有什么?它应该是证书文件的路径,例如 com.tibco.tibjms.TibjmsSSL.addTrustedCerts("c:\\server_cert.pem");您可能还需要将证书添加到 java keystore javarevisited.blogspot.com/2012/03/…
-
感谢大卫,我通过 factory.setSSLEnableVerifyHost(false) 禁用了验证主机; factory.setSSLEnableVerifyHostName(false);,它给我建立连接
-
@Rudy 禁用主机验证意味着您的 SSL 连接并不安全。您很容易成为中间人攻击的受害者。
标签: java ssl-certificate jms tibco-ems