Javaのkeytoolを使ってオレオレ証明書の壁を突破する

Eclipseのプラグインからオレオレ証明書なURLにアクセスしようとすると何か↓こんなの出てる、、っていう。

Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1649)
	at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)

 
そのプラグインのソース書き換えるってわけにもいかんので、
ローカルのJavaでシカッティングしてやろうと。
 
ググって一番上に出てきた javaでhttps通信 | 来栖川電算 によると、
javaのkeytoolを使って証明書を追加すればイイっぽい。
 
FireFoxでそのURLにアクセスすると、『接続の安全性を確認できません』とかいうモノモノしいページが出て、
例外を追加ボタンを押すと、証明書が表示出来て、詳細タブを押すと証明書がエクスポート出来ます。
エクスポートするときに種類を『X.509 証明書(PEM)』とかいうので引っこ抜きます。
でもって、引っこ抜いたファイルをJavaのkeytoolを使ってインポートします。 

C:\Program Files\Java\jdk1.6.0_24\bin>keytool -import -file エクスポートしたファイル -keystore "C:\Program Files\Java\jdk1.6.0_24\jre\lib\security\cacerts"
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:

こいつ(cacerts)のデフォルトのパスワードは”changeit”なんだそうです。

この証明書を信頼しますか? [no]:  yes
証明書がキーストアに追加されました。

って感じでアクセスしてやると、SSLのエラーは回避出来たみたいです。
#そのかわり、また違うエラーが出てるんでてますが、、汗
#そっちはまた別途。
  

Effective Java 第2版 (The Java Series)
Joshua Bloch
ピアソンエデュケーション
売り上げランキング: 6062

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] って思ったら ↓まんまなブログを以前にも書いてました…。 Javaのkeytoolを使ってオレオレ証明書の壁を突破する | shinodogg.com 人間の記憶なんてそんなものですね。。ってかSEO対策とか必 […]