ある日突然こんな感じのエラーが発生しました。
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateExpiredException: NotAfter: Sun Oct 04 11:22:12 JST 1903
Https では証明書を無視出来る設定があったのを最近調べたところだったので、ftpsでもできないかと思い調べてみました。結果
ftps でもできました。やりかた
証明書を無視するTrustManagerを作ってFTPSClientに設定してやればOKです。例
全てを無視する TrustManager を作ります。static final TrustManager IGNORE_ALL = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType)
throws CertificateException {
}
};
そして、セットFTPSClient ftpsclient = new FTPSClient();
ftpsclient.setTrustManager(IGNORE_ALL);
あとはいつもどおりでOKです。証明書がダメでも無視して接続してくれます。yeah!
参考にさせていただきました
commons-http-clientでSSLの証明書を無視する設定 - 高温処理済みコースケ
Written with StackEdit.
0 件のコメント:
コメントを投稿