in src/main/java/com/aliyun/credentials/http/CompatibleUrlConnClient.java [80:105]
private SSLSocketFactory createSSLSocketFactory(boolean ignoreSSLCert) {
try {
X509TrustManagerImp compositeX509TrustManager;
if (ignoreSSLCert) {
compositeX509TrustManager = new X509TrustManagerImp(true);
} else {
// get trustManager using default certification from jdk
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init((KeyStore) null);
List<TrustManager> trustManagerList = new ArrayList<TrustManager>(Arrays.asList(tmf.getTrustManagers()));
final List<X509TrustManager> finalTrustManagerList = new ArrayList<X509TrustManager>();
for (TrustManager tm : trustManagerList) {
if (tm instanceof X509TrustManager) {
finalTrustManagerList.add((X509TrustManager) tm);
}
}
compositeX509TrustManager = new X509TrustManagerImp(finalTrustManagerList);
}
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{compositeX509TrustManager},
new java.security.SecureRandom());
return sslContext.getSocketFactory();
} catch (Exception e) {
throw new CredentialException(e.getMessage(), e);
}
}