Я решил это сам и по-своему:
- Код снова следуйте за этим видео: https://www.youtube.com/watch?v=YQgbxOY3lIo
И
HostnameVerifier myHostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
HostnameVerifier hv =
HttpsURLConnection.getDefaultHostnameVerifier();
return hv.verify("example.com", session);
}
};
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.hostnameVerifier(myHostnameVerifier)
.sslSocketFactory(mySSLContext.getSocketFactory(), myX509TrustManager)
.build();
// default settings for all sockets
IO.setDefaultOkHttpWebSocketFactory(okHttpClient);
IO.setDefaultOkHttpCallFactory(okHttpClient);
// set as an option
opts = new IO.Options();
opts.callFactory = okHttpClient;
opts.webSocketFactory = okHttpClient;
socket = IO.socket("https://example.com", opts);
внутри connect () ниже context.init(null,tmf.getTrustManagers(),null);
и ofcouse InputStream caInput = getAssets().open("yourca.crt");
с неподписанным ssl. Вот и все. Надеюсь, это сделает этот форум лучше, слишком холодно!