オレオレ証明書をJavaにインポート

HTTPクライアントからホゲホゲして自動化したいなぁって思ってた時に、
HttpClient SSLのサンプルを参考にさせていただきながらやってみたのですが、
unable to find valid certification path to requested target とか
PKIX path building failed とかって言われちゃって…。
 
んま、ブラウザからは日頃アクセスしてるので、その証明書をJavaに
食わせちゃえばいいのよね、と。って事で以下のよな手順で。
 
■ ワーニングが出てるところをボチボチって押すとこんなん出てきて

 
■ インポートウィザードで取り込めます

 
■ エクスポートウィーザードで取り出せるので

 
■ 次へ次へでファイルに吐き出します

 
■ ファイルを動かしたいところに持っていって以下のコマンドでJavaに食わせます

$ sudo [JAVA_HOME]/bin/keytool -importcert -v -trustcacerts -file /foo/bar/hoge.ca.cer -keystore [JAVA_HOME]/jre/lib/security/cacerts
Enter keystore password: changeit
<略>
Trust this certificate? [no]: yes
Certificate was added to keystore

Permission Deniedしちゃったのでsudoして叩きましたよ、と。
↓keytoolに関する公式なドキュメントはこちら。オラコー。
http://docs.oracle.com/cd/E19798-01/821-1841/gjrgy/index.html
 
■ JavaのコードはCommonsのHttpClient使って以下のよな感じで。

 
HttpClient client = new HttpClient();
client.getState().setProxyCredentials(
  new AuthScope("プロキシ", ポート),
  new NTCredentials("ユーザー", "パスワード", "サーバー", "ドメイン")
);
PostMethod method = new PostMethod("https://hogehoge/hage");

 

Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで
神永 正博 山田 聖 渡邊 高志
森北出版
売り上げランキング: 353294

 
んあぁ、、前にもこんな事やったなって思ったら
↓まんまなブログを以前にも書いてました…。
Javaのkeytoolを使ってオレオレ証明書の壁を突破する | shinodogg.com
人間の記憶なんてそんなものですね。。ってかSEO対策とか必要かな、自分のためにw

シェアする

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

フォローする