Привет всем. Я только начал немного играть с XMPP в Java, как на стороне сервера, так и на стороне клиента.
На стороне сервера я использую Apache Vysper 0.7, а на стороне клиента я использую Ignite Smack 3.1.0
Я использую небольшой XMPP-сервер со демонстрационной страницы apache vysper, используя сертификат TLS, который поставляется с исходным кодом:
XMPPServer server = new XMPPServer("localhost");
StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
Entity user = EntityImpl.parseUnchecked("user@localhost");
accountManagement.addUser(user, "password");
server.setStorageProviderRegistry(providerRegistry);
server.addEndpoint(new TCPEndpoint());
server.setTLSCertificateInfo(new File("bogus_mina_tls.cert"), "boguspw");
server.start();
System.out.println("Vysper server is running...");
Проблема в том, что это неверный / действительный сертификат. Если я тестирую свой сервер с помощью pidgin, появляется окно с предупреждением, сообщающее, что сертификат недействителен, и кнопка, если я хочу добавить исключение для этого.
Я хочу сделать то же самое с API Smack, но я не знаю как.
на моем интерфейсе smack я использую что-то вроде этого:
ConnectionConfiguration config = new ConnectionConfiguration("localhost",5222, "localhost");
config.setSASLAuthenticationEnabled(false);
connection = new XMPPConnection(config);
connection.connect();
connection.login(userName, password);
Так что вот оно. Что мне нужно сделать, чтобы принять или отклонить недействительные сертификаты?
Спасибо за вашу помощь.