Я упаковываю приложение свободы, которое работает с Db2. Когда мы запускаем локально, мы настраиваем сертификаты для защиты соединения от приложения к базе данных.
Теперь я пытаюсь упаковать то же приложение для использования со службой Db2 on Cloud, и у меня возникают проблемы с конфигурацией SSL.
Я думаю, что мог бы создать хранилище доверенных сертификатов, добавить в него корневой ЦС digicert и упаковать его вместе с приложением, но вместо этого я склонялся к использованию только встроенных cacerts JDK (потому что у нас также есть ограничительные правила брандмауэра, запрещающие исходящие подключения к другим хостам). ).
Я нашел очень актуальное обсуждение на https://github.com/OpenLiberty/open-liberty/issues/4377, но я не могу найти хороший способ указать путь к хранилищу JDK cacert переносимым способом.
Я попытался установить его следующим образом: <keyStore id="defaultKeyStore" location="${env.JAVA_HOME}/jre/lib/security/cacerts"/>
Но по какой-то причине он не разрешает переменную среды. Почему?
Кроме того, это будет работать, только если для JAVA_HOME установлено значение JDK (как в разработке). В наших контейнерах этого нет, поэтому нам не нужна часть jre
в пути.
Каков самый простой/легкий способ сказать Liberty, чтобы он просто использовал хранилище доверенных сертификатов JDK по умолчанию (переносимым способом)?