Smack 4在连接时抛出“SSLHandshakeException:ValidatorException:SunCertPathBuilderException”

对于我的xmpp堆栈的集成测试,我在localhost上设置了一个vysper服务器(0.7)。 现在我想在版本4.0.2中使用smack-core和smack-tcp连接到服务器。

问题:

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

由于smack 4 api已经发生了很大的变化,到目前为止发现的例子已经不能再使用了。 以前有人试过吗?

SSLHandashskeException告诉我们SSL / TLS握手失败,这是因为有一个ValidatorException告诉我们“PKIX路径构建失败”,因为抛出了SunCertPathBuilderException因为Java API“无法找到有效的证书路径”要求目标“。

Java API(即,这不是由Smack完成的)无法使用活动SSLContext为服务器SSL / TLS证书构建有效的证书链。 这就是抛出此exception的原因。 您需要提供有效的证书(但是由您当前使用的SSLContext定义)或告诉Smack使用接受当前服务器证书的SSLContext( ConnectionConfiguration.setCustomSSLContext(SSLContext)