Не могу подключиться к моему серверу ejabberd с помощью Asmack

Получение этих ошибок в logcat:

06-26 02: 34: 08.352: W / System.err (1261): java.security.KeyStoreException: java.security.NoSuchAlgorithmException: реализация 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.NoSuchAlgorithmException: Реализация jks хранилища ключей не найдена 06-26 02: 34: 08.362: W / Syst em.err (1261): в org.apache.harmony.security.fortress.Engine.notFound (Engine.java:177) 06-26 02: 34: 08.362: W / System.err (1261): в org.apache .harmony.security.fortress.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 / System.err (1261): ... еще 5

06-26 02: 34: 09.802: W / System.err (1261): Ошибка аутентификации SASL с использованием механизма DIGEST-MD5: 06-26 02: 34: 09.802: W / System.err (1261): at 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)


person Punit    schedule 26.06.2014    source источник
comment
Пожалуйста, покажите нам код, который вы используете для подключения к ejabberd, и какую версию Asmack вы используете.   -  person zozelfelfo    schedule 26.06.2014
comment
Спасибо за ответ, но я решил эту проблему, добавив путь к хранилищу ключей. добавлю ответ. Спасибо   -  person Punit    schedule 26.06.2014
comment
@Punit, пожалуйста, отправьте ответ, я столкнулся с той же проблемой ..   -  person shridutt kothari    schedule 05.07.2014
comment
@shriduttkothari Пожалуйста, прочтите мой ответ. и извините за задержку ...   -  person Punit    schedule 07.07.2014


Ответы (1)


Вот ответ на эту проблему ...

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);
        }
person Punit    schedule 07.07.2014
comment
хорошая работа, но это устранит ошибку хранилища ключей. А как насчет сбоя аутентификации SASL с использованием механизма DIGEST-MD5. Я все еще сталкиваюсь с этой ошибкой после добавления вашего решения в свой код ... надеюсь, вы скоро ответите !!!! - person Dev; 12.07.2014
comment
Я столкнулся с ошибкой при попытке входа в систему, вот ошибка аутентификации SASL трассировки стека с использованием механизма DIGEST-MD5: в org.jivesoftware.smack.SASLAuthentication.authenticate (SASLAuthentication.java:341) в org.jivesoftware.smack.XMPPConnection.login (XMPPConnection.java:242) at org.jivesoftware.smack.Connection.login (Connection.java:371) при любой идее, в чем здесь проблема !!! - person Dev; 12.07.2014
comment
вы используете jid как [email protected]? если да, удалите @ domain.com, например, если у вас есть [email protected], тогда используйте только abc в качестве имени пользователя. - person Punit; 12.07.2014