JavaでSSL証明書のチェックを省略する方法
前回の記事でJoomlaにXMLRPCで記事を登録できるようになりました。
ただ、本番サイトはHTTPSだったので上手く動作しませんでした。
どうも、チェックを弾いてあげるようにしないとダメなようです。
//証明書情報 全て空を返す
TrustManager[] tm = { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
} };
SSLContext sslcontext = SSLContext.getInstance("SSL");
sslcontext.init(null, tm, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
//ホスト名の検証ルール 何が来てもtrueを返す
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname,
SSLSession session) {
return true;
}
});これを入れてあげたら、ちゃんと動作しました!
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
の前の行にいれてください。


