2011-07-27 6 views
0

私は、Java RMIを使用して、今まではただ、次のVM引数Java RMIのSSLをコードから動的に設定する方法は?

-Djavax.net.ssl.trustStore=${workspace_loc:/ssltest/server/servertruststore.jks} 
-Djavax.net.ssl.trustStorePassword=server 
-Djavax.net.ssl.keyStore=${workspace_loc:/ssltest/server/serverkeystore} 
-Djavax.net.ssl.keyStorePassword=server 

を使用し、ちょうどレジストリやオブジェクトの輸出のためのSslRMIソケットファクトリを使用しています。
これで、追加のコマンドラインパラメータを取り除き、プロパティファイルからそのパラメータを読み取ることにしました。私はそのために、私はちょうど

System.setProperty("javax.net.ssl.trustStore", "C:/servertruststore.jks"); 

などして、(VMの引数を指定して起動するときにそれが起こるように)自動的ものを設定経由してプロパティを設定する必要があることを望みました。私はそれを実現するために何をしなければならないのですか?

それができない場合は、他に何ができますか?私は自分のSSLContextをキーストアとTrustManagerで作成する必要がありますか?そして、私のSslRMIFactoriesにこのコンテキストをどうやって得るのですか?

答えて

0

はい - これらのパラメータは、System.setPropertyを使用して設定することもできます。どのようにするかは、環境によって異なります。アプリケーションサーバーを使用している場合、カスタムシステムプロパティを自動的に設定/公開するための設定ファイルが存在する可能性があります。たとえば、JBoss上ではdeploy-folderの下にproperties-service.xmlというファイルがあります。

+0

しかし、私はスタンドアローンです。これらのパラメータが与えられたら、Javaのような自動設定を起動する必要がありますか? – WorstCase

+0

代替手段を探している理由は何ですか? – helios

+0

パスワードがコマンドラインに表示されないようにすることが決定されました。彼は言ったようにSystem.setProperty()を使用して@WorstCaseを – WorstCase

関連する問題