Apache Vysper с клиентской библиотекой Smack 4.1.8 - как обращаться с сертификатом TLS?

Я хочу подключиться к серверу Apache Vysper с помощью библиотеки Smack 4.1.8. Но как справиться с bogus_mina_tls.crt, который поставляется с Vysper? В Smack 3 вы просто можете использовать:

ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("localhost", 5222);
connectionConfiguration.setSecurityMode(ConnectionConfiguration.SecurityMode.required);
connectionConfiguration.setSASLAuthenticationEnabled(true);
connectionConfiguration.setKeystorePath("src/main/resources/bogus_mina_tls.cert");
connectionConfiguration.setTruststorePath("src/main/resources/bogus_mina_tls.cert");
connectionConfiguration.setTruststorePassword("boguspw");

Но как это сделать в Smack 4 API с XMPPTCPConnectionConfiguration.builder()?

Большое спасибо

1 ответ

С Smack 4 вам нужно построить SSLContext для чмокать себя и установить его с setCustomSslContext(SSLContext), Если вы не предоставите пользовательские SSLContext тогда Smack будет использовать стандартное время выполнения (т. е. прибегнуть к проверке сертификата в хранилище доверенных сертификатов Java).

Другие вопросы по тегам