Получите экземпляр keystore, который JVM загружает по умолчанию

Я играл с безопасностью в Java и Tomcat, и я перешел к сути дела, где мне было любопытно, какой keystore/truststore был загружен JVM в конце. Даже при том, что мне создали мой собственный keystore и в конфигурации Tomcat, это использовалось и в качестве keystore и trustore, действительность была то, что значение по умолчанию cacerts файл было загружено как база доверенных сертификатов (как keystore, мой файл использовался правильно).

Я пытался получить название файла, который загружает JVM, но я не нашел решение. Моя идея состояла в том, чтобы получить System.getProperty("javax.net.ssl.keyStore"), но это дало мне пустой. Я пытался установить это и в server.xml Tomcat через Коннектор и как параметр командной строки-Djavax.net.ssl.keyStore = "файл". Я уверен, что параметр командной строки был обеспечен правильно, поскольку я - установка JMX paramneters в том же месте.

br, Martin

9
задан Martin 29 June 2010 в 10:39
поделиться

2 ответа

Вы используете Tomcat 6?

Я пробовал установить это в catalina.bat как

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Djavax.net.ssl.keyStore="path-to-file"

, и это отражается в моем коде, используемом как System.getProperty ("javax .net.ssl.keyStore ")

Также, к вашему сведению, Bugzilla на игнорировала другие атрибуты SSL, что было исправлено в 6.0.16. keyStore там специально не упоминается, но моя версия 6.0.20 и работает

1
ответ дан 4 December 2019 в 23:38
поделиться

Вы не обязательно сможете получить именно то, что хотите, из имени файла даже того типа, и установка хранилища ключей в коннекторе абсолютно не повлияет на системное свойство.

Кроме того, хранилище ключей, независимо от того, указано ли оно в свойстве javax.net.ssl.keyStore или создано явно, является лишь частью настройки KeyManager и ] SSLContext . (По умолчанию Apache Tomcat будет использовать файлы и относительно простой механизм загрузки, но это также можно настроить с помощью Tomcat SSLImplementation .) Если вы действительно хотите увидеть, что загружается, я бы посмотрел на флаги отладки JSSE , точнее, примерно так:

-Djavax.net.debug=SSL,keymanager,trustmanager

EDIT: Я должен добавить, что, вообще говоря, нет хранилища ключей по умолчанию (вне контекста Tomcat), только хранилище доверенных сертификатов по умолчанию. Tomcat JSSEImplementation по умолчанию использует System.getProperty ("user.home") + "/.keystore".

5
ответ дан 4 December 2019 в 23:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: