Томас Наррос объяснил вам причину. Вот способ сбора сервисного сертификата (цепочки) или даже его полного игнорирования.
Создание класса TrustManager с инструментами javax.net.ssl.X509TrustManager
Вы получите цепочку сертификатов сервера в checkServerTrusted(X509Certificate[] chain, String authType)
. В этом методе вы можете написать простой код для сохранения полученных сертификатов. Если вы не хотите проверять их, просто вернитесь, не выдав исключение.
Чтобы реализовать TrustManager, сделайте что-то вроде этого
TrustManager[] myTrustManager = { new MyTrustManager() };
SSLContext ctx = SSLContext.getInstance("TLS");
if (sendClientCerts) { //send my certs for authentication to the server
X509KeyManager kmsd = ...
ctx.init(kmsd, myTrustManager, null);
}
else {
ctx.init(null, myTrustManager, null);
}
// Finally get a SSL Socket Factory and return it
SSLScketFactory ssf = ctx.getSocketFactory();
SSLSocket socket = ssf.createSocket(...);