Как настроить SSL для Java RMI динамически из кода? - PullRequest
0 голосов
/ 27 июля 2011

Я использую Java RMI и до сих пор просто использовал следующие аргументы VM

-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");

и т. Д., А затем настроить все автоматически (как это происходит при запуске с аргументами виртуальной машины).Что мне нужно сделать, чтобы это произошло?

И если это невозможно, что еще я могу сделать?Нужно ли создавать свой собственный SSLContext с Keystore и TrustManager?И как мне передать этот контекст в мои SslRMIFactories?

1 Ответ

0 голосов
/ 27 июля 2011

Да - эти параметры также можно установить с помощью System.setProperty.Ответ на вопрос, как зависит от вашей среды.Если вы используете сервер приложений, может быть какой-то файл конфигурации для автоматической установки / предоставления пользовательских свойств системы.Например, на JBoss этот файл - properties-service.xml в папке deploy.

...