连接openfire服务器有三种方式
纯文本
starttls
tls/ssl
第二种是纯文本的扩展协议,如果双方都支持加密,则可将纯文本传输升级为加密传输,加密传输和非加密
传输公用一个端口
public XMPPConnectionFactory(@Value("${im.host}") String host,@Value("${truststore.pwd}") String storePass){
Base64.setEncoder(new BASE64Encoder());
try {
KeyStore trustStore=KeyStore.getInstance("JKS");
trustStore.load(getClass().getResourceAsStream("/truststore"),storePass.toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(trustStore);
SSLContext sslContext=SSLContext.getInstance("TLS");
sslContext.init(null,tmf.getTrustManagers(),null);
SmackConfiguration.DEBUG = true;
//使用加密连接
config = XMPPTCPConnectionConfiguration.builder()