sun security provider on IBM JDK
import com.sun.net.ssl.SSLContext;
import com.sun.net.ssl.TrustManager;
import com.sun.net.ssl.X509TrustManager;
X509TrustManager mgr = new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
public boolean isClientTrusted(X509Certificate[] arg0) {
return true;
}
public boolean isServerTrusted(X509Certificate[] arg0) {
return true;
}
};
TrustManager tm[] = { (TrustManager) mgr };
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, tm, new SecureRandom());
SSLSocketFactory sf = sslContext.getSocketFactory();
こんなソースをIBM JDKで稼動させる場合に
$JAVA_HOME/jre/lib/security/java.security
を編集することで対応できるが、
編集がいろいろな事情で不可能な場合、
Security.insertProviderAt(new com.sun.net.ssl.internal.ssl.Provider(), 1);
で動的にProviderを追加してあげるとOK.
念のため該当処理が終わったら念のため
Security.removeProvider("SunJSSE");
でお掃除もすれば、他に影響与えずにいけるでしょう。
コメント