У меня есть Java-код, который загружает хранилище ключей, которое определено внутри среды выполнения (.war-файл).Как читать значение JNDI из кода Java?
KeyStore trustStore = KeyStore.getInstance("PKCS12");
File key = new File ("/was85/resources/security/ecommerce_gr_mobile.p12");
trustStore.load(new FileInputStream(key), "Pass".toCharArray());
Однако мне не нужно жестко кодировать хранилище ключей - передать. Мне нужно захватить их из запущенного EAR, потому что эти значения различны в наших средах (DEV - QA-UAT и PROD).
Я читал, что мне нужно использовать что-то вроде этого:
Properties properties = new java.util.Properties();
InputStream inputStream =
getServletContext().getResourceAsStream("/WEB-INF/web.xml/worklight.properties");
properties.load(inputStream);
String keystore= properties.getProperty("ssl.keystore.path");
Однако значение внутри worklight.properties является по умолчанию один и не один, который мы определили внутри выполнения
Worklight. свойства:
ssl.keystore.path = /conf/default.keystore
значение JDNI внутри выполнения:
Как я могу захватить тот, который определен в JNDI, а не по умолчанию?
Отредактировано:
web.xml:
<env-entry>
<description>[OPTIONAL] SSL certificate keystore location. Default: conf/default.keystore.</description>
<env-entry-name>ssl.keystore.path</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value/>
</env-entry>
<env-entry>
<description>[OPTIONAL] SSL certificate keystore type. Valid keystore types: jks, PKCS12. Default: jks.</description>
<env-entry-name>ssl.keystore.type</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value/>
</env-entry>
<env-entry>
<description>[OPTIONAL] SSL certificate keystore password.Default: worklight.</description>
<env-entry-name>ssl.keystore.password</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value/>
</env-entry>
Я устал второй вариант, но я получил исключение, что нет никакого «SSL. keystore.path "в" java: comp/env " –
@ HussamEddin Пожалуйста, добавьте свой' web.xml', так как сложно угадать вашу конфигурацию. – Gas
Добавлен web.xml. Как вы можете видеть, я не вижу значения «/was85/.../ecommerce_grs_mobile.p12 –