Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';无法使用Asmack连接到我的ejabberd服务器_Android_Keystore_Ejabberd_Asmack_Sasl - Fatal编程技术网

Android Can';无法使用Asmack连接到我的ejabberd服务器

Android Can';无法使用Asmack连接到我的ejabberd服务器,android,keystore,ejabberd,asmack,sasl,Android,Keystore,Ejabberd,Asmack,Sasl,在logcat中获取以下错误: 06-26 02:34:08.352:W/System.err(1261):java.security.KeyStoreException:java.security.nosuchalgorithException:找不到KeyStore jks实现 06-26 02:34:08.352:W/System.err(1261):位于java.security.KeyStore.getInstance(KeyStore.java:119) 06-26 02:34:08

在logcat中获取以下错误:

06-26 02:34:08.352:W/System.err(1261):java.security.KeyStoreException:java.security.nosuchalgorithException:找不到KeyStore jks实现 06-26 02:34:08.352:W/System.err(1261):位于java.security.KeyStore.getInstance(KeyStore.java:119) 06-26 02:34:08.352:W/System.err(1261):位于org.jivesoftware.smack.ServerTrustManager.(ServerTrustManager.java:71) 06-26 02:34:08.352:W/System.err(1261):位于org.jivesoftware.smack.XMPPConnection.proceedTLSReceived(XMPPConnection.java:858) 06-26 02:34:08.352:W/System.err(1261):位于org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:250) 06-26 02:34:08.352:W/System.err(1261):位于org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:46) 06-26 02:34:08.362:W/System.err(1261):位于org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:72) 06-26 02:34:08.362:W/System.err(1261):原因:java.security.nosuchalgorithException:找不到密钥库jks实现 06-26 02:34:08.362:W/System.err(1261):位于org.apache.harmony.security.forester.Engine.notFound(Engine.java:177) 06-26 02:34:08.362:W/System.err(1261):位于org.apache.harmony.security.forester.Engine.getInstance(Engine.java:151) 06-26 02:34:08.362:W/System.err(1261):位于java.security.KeyStore.getInstance(KeyStore.java:116) 06-26 02:34:08.362:W/系统错误(1261):。。。还有5个

06-26 02:34:09.802:W/System.err(1261):SASL身份验证使用机制摘要-MD5失败: 06-26 02:34:09.802:W/System.err(1261):位于org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:341) 06-26 02:34:09.802:W/System.err(1261):位于org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:242) 06-26 02:34:09.802:W/System.err(1261):位于org.jivesoftware.smack.Connection.login(Connection.java:371) 06-26 02:34:09.802:W/System.err(1261):位于com.example.contactupdater.MainActivity$MainActivity2.login(MainActivity.java:358) 06-26 02:34:09.802:W/System.err(1261):位于com.example.contactupdater.MainActivity$MainActivity2.login(MainActivity.java:347)
06-26 02:34:09.802:W/System.err(1261):在com.example.contactupdater.MainActivity$1.run(MainActivity.java:320)

下面是这个问题的答案

AndroidConnectionConfiguration config = new AndroidConnectionConfiguration(server,
                port);
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            config.setTruststoreType("AndroidCAStore");
            config.setTruststorePassword(null);
            config.setTruststorePath(null);
        } else {
            config.setTruststoreType("BKS");
            String path = System.getProperty("javax.net.ssl.trustStore");
            if (path == null)
                path = System.getProperty("java.home") + File.separator + "etc"
                    + File.separator + "security" + File.separator
                    + "cacerts.bks";
            config.setTruststorePath(path);
        }

请向我们展示您用于连接ejabberd的代码,以及您使用的Asmack版本。感谢您的响应,但我通过添加密钥库路径解决了此问题。将添加答案。Thanks@Punit请发布答案,我也面临同样的问题。@shridutkothari请查看我的答案。很抱歉延迟…很好,但这将删除密钥存储错误“SASL身份验证使用mechanism DIGEST-MD5失败”怎么办?在我的代码中添加解决方案后,我仍然面临此错误…希望您能尽快回答!!!!我在尝试登录时遇到错误,下面是堆栈跟踪SASL身份验证失败,使用的机制是DIGEST-MD5:at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:341)at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:242)at org.jivesoftware.smack.Connection.login(Connection.java:371)不知道这里有什么问题!!!你是在用jid当演员吗JID@domain.com ? 如果是,请删除@domain.com,如有abc@domain.com然后只使用abc作为用户名。