Это делается через SSLContext.Вы инициируете один и затем используете его фабрику сокетов для создания экземпляров HttpsConnection.
Вот примерный пример того, как мне управлять этим в моем приложении:
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(myKeyManagerFactory.getKeyManagers(), myTrustManagerArray, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
после этого ваш openConnection () вызываетСайты https будут использовать sslsocketfactory, который вы инициализировали здесь.
Здесь код для TrustManager для использования в вашем контексте ssl, который будет доверять всем сертификатам:
TrustManager[] myTrustManagerArray = new TrustManager[]{new TrustEveryoneManager()};
class TrustEveryoneManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] arg0, String arg1){}
public void checkServerTrusted(X509Certificate[] arg0, String arg1){}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}
Upd от Bruno: будьте осторожны, доверяя любому сертификатукак бы удобно это ни было, делает соединение уязвимым для MITM-атак