Какое местоположение по умолчанию для Keystore / Truststore java-приложений?
Вопрос
Я пишу приложение, которое использует SSL. Следовательно, у меня есть фиктивный магазин ключей и фиктивная трастовая машина, которую я хочу предоставить своим клиентам. Есть ли папка по умолчанию, чтобы поместить их в мое распределение? Например, документы, либера, бин ... и т.д. Где обычно есть хранилище ключей, помещается на сервер и где обычно наносит TrustStore на клиенте?
Спасибо
Решение
В Java, согласно Руководство справочника JSSE, нет по умолчанию для keystore
, по умолчанию для truststore
является "jssecacers, если он существует. В противном случае, Caqers.".
Несколько приложений используют ~/.keystore
В качестве ключевого магазина по умолчанию, но это не без проблем (в основном потому, что вы можете не захотеть, что пользователь не захочет всех приложений использовать этот трастовый магазин).
Я предлагаю использовать конкретные приложения значений, которые вы подключите свое приложение вместо этого, это, как правило, более применимо в целом.
Другие советы
Как сказал Бруно, тебе лучше настроить его самостоятельно. Вот как я это делаю. Начните с создания файла свойств (/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);