プライベートCAの証明書を信頼してみる
http://www.h7.dion.ne.jp/~matsu/feature/uzumi/httpclient/ssl.html を参考にして、$JAVA_HOME/bin/keytool を使ってみました。
keytool -import -trsutcacerts -file ca.crt -alias ca java -Djavax.net.ssl.trustStore=${HOME}/.keystore ...
上のコマンドは、それぞれ次のことを意味します。
${HOME}/.keystore
にCA証明書の信頼リストに追加する。${HOME}/.keystore
を信頼リストにして実行する。
たとえば、WSDL2Javaでスタブを作ってみたりします。
% java -Djavax.net.ssl.trsutStore=${HOME}/.keystore org.apache.axis.wsdl.WSDL2Java "https://example.jp/axis/services/Version?wsdl" % cat Test.java import jp.example.axis.services.Version.*; public class Test { static public void main( String[] args ) { try { Version V = (new VersionServiceLocator() ).getVersion(); System.out.println( V.getVersion() ); } catch( Exception e ) { e.printStackTrace(); } } } % javac Test.java % java -Djavax.net.ssl.trustStore=${HOME}/.keystore Test
("example.jp"の箇所は変わります)