Какое местоположение по умолчанию для Keystore / Truststore java-приложений?

StackOverflow https://stackoverflow.com/questions/4097432

  •  28-09-2019
  •  | 
  •  

Вопрос

Я пишу приложение, которое использует 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top