无法使用 Smack 4.1 从 Android 连接 apache vysper XMPP 服务器

Posted

技术标签:

【中文标题】无法使用 Smack 4.1 从 Android 连接 apache vysper XMPP 服务器【英文标题】:Unable to connect apache vysper XMPP server from Android using Smack 4.1 【发布时间】:2016-07-18 07:27:53 【问题描述】:

我正在尝试从我的 android 设备连接到 apache vysper XMPP 服务器。 我正在使用 smack 4.1 库。我遇到了异常。

请帮助我摆脱这个错误。

org.jivesoftware.smack.SmackException:javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。

07-18 06:57:15.853 22415-22713/com.cvs.strogchat W/System.err: 在 com.android.org.conscrypt.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:591)

07-18 06:57:15.853 22415-22713/com.cvs.strogchat W/System.err: at org.jivesoftware.smack.tcp.XMPPTCPConnection.initReaderAndWriter(XMPPTCPConnection.java:651)

07-18 06:57:15.853 22415-22713/com.cvs.strogchat W/System.err:在 org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:751)

07-18 06:57:15.853 22415-22723/com.cvs.strogchat W/AbstractXMPPConnection:连接因错误而关闭

【问题讨论】:

"CertPathValidatorException: Trust anchor for certification path not found." with (a)Smack 4.0.0的可能重复 【参考方案1】:

我已通过使用来自服务器的证书显式创建安全套接字来解决此问题。我已在应用程序资源中复制证书并将该证书传递给 SecureSocket。

【讨论】:

以上是关于无法使用 Smack 4.1 从 Android 连接 apache vysper XMPP 服务器的主要内容,如果未能解决你的问题,请参考以下文章

Smack 4.1 所需的最低 Android API 级别是多少?

asmack/Smack 4.1 on android 设置

使用 Smack 4.1 连接到 Gtalk

与 gtalk 的 Smack 4.1 连接

smack 4.1 processMessage 方法没有被调用

Smack 4.1 SASL 身份验证错误