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).