【トラブル】【Java】System.getProperty("javax.net.ssl.trustStore") など で null が返ってくる

現象詳細

 * Java で以下のサンプルのような「System.getProperty("javax.net.ssl.xxxxxx")」で、 null が返ってくる

サンプル

String keyStore = System.getProperty("javax.net.ssl.keyStore");
String keyStorePassword = System.getProperty("javax.net.ssl.keyStorePassword");
String trustStore = System.getProperty("javax.net.ssl.trustStore");
String trustStorePassword= System.getProperty("javax.net.ssl.trustStorePassword");

原因

 * トラストストア / キーストア 用のシステム環境変数を設定しないため。

解決方法

 * 2つある。

解決法 その1

 * 以下の関連記事のサンプルでおこなっているようにSystem.setProperty("javax.net.ssl.xxxxxx", "~") を設定する
http://blogs.yahoo.co.jp/dk521123/33122920.html

サンプル

http://blogs.yahoo.co.jp/dk521123/33122920.html
より抜粋

System.setProperty("javax.net.ssl.keyStore", "keys/serverKeystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
System.setProperty("javax.net.ssl.trustStore", "keys/clientTruststore.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

解決法 その2

 * JavaVMのパラメータでシステムプロパティ javax.net.ssl.trustStore、javax.net.ssl.trustStorePassword など
 を設定する。

サンプル

java -Djavax.net.ssl.keyStore=keys/serverKeystore.jks -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.trustStore=keys/clientTruststore.jks  -Djavax.net.ssl.trustStorePassword=changeit 


関連記事

JavaSSLのトラストストア / キーストアのパスを変更するには...

https://blogs.yahoo.co.jp/dk521123/37239270.html

Java で、SSL通信を行うには

http://blogs.yahoo.co.jp/dk521123/33122920.html

「AxisFault: Connection has been shutdown: javax.net.ssl.SSLHandshakeException」が表示

http://blogs.yahoo.co.jp/dk521123/33014445.html

System.getProperty("javax.net.ssl.trustStore" ) など で null が返ってくる

http://blogs.yahoo.co.jp/dk521123/33978118.html