Какое расположение по умолчанию для хранилища ключей / доверенных сертификатов приложений Java? - PullRequest
40 голосов
/ 04 ноября 2010

Я пишу приложение, которое использует SSL. Следовательно, у меня есть фиктивный склад ключей и фиктивный склад доверенных сертификатов, которые я хочу поставить своему клиенту. Есть ли папка по умолчанию, чтобы поместить их в мой дистрибутив? например документы, lib, bin ... и т. д. Где обычно находится хранилище ключей на сервере и где обычно хранится хранилище доверенных сертификатов на клиенте?

Спасибо

Ответы [ 2 ]

33 голосов
/ 04 ноября 2010

В Java, согласно Справочному руководству JSSE , для keystore по умолчанию нет значения, для truststore по умолчанию используется значение " jssecacerts, если оно существует. В противном случае, cacerts ».

Некоторые приложения используют ~/.keystore в качестве хранилища ключей по умолчанию, но это не без проблем (в основном потому, что вы не хотите, чтобы все приложения, запускаемые пользователем, использовали это хранилище доверия).

Я бы предложил использовать значения, относящиеся к конкретному приложению, которые вы связываете со своим приложением, в целом оно будет более применимым.

14 голосов
/ 28 марта 2013

Как сказал Бруно, вам лучше настроить его самостоятельно.Вот как я это делаю.Начните с создания файла свойств (/etc/myapp/config.properties).

javax.net.ssl.keyStore = /etc/myapp/keyStore
javax.net.ssl.keyStorePassword = 123456

Затем загрузите свойства в свою среду из своего кода.Это делает ваше приложение настраиваемым.

FileInputStream propFile = new FileInputStream("/etc/myapp/config.properties");
Properties p = new Properties(System.getProperties());
p.load(propFile);
System.setProperties(p);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...