Код: Выделить всё
keytool -noprompt -import -trustcacerts -cacerts -alias $ALIAS -storepass $PASSWORD
Дополнительные сертификаты, которым следует доверять, предоставляются как переменная среды CERTS. p>
Я предполагаю, что единственный правильный способ — сделать это программно, например, во время @PostConstruct в компоненте Spring Boot.
Я рассматривал несколько примеров установки глобального хранилища доверенных сертификатов в коде, но все они относятся к обновлению cacerts, а затем сохранению его в файловой системе, что у меня не работает.
В некоторых примерах используется System.setProperty("javax.net.ssl .trustStore", fileName);, но это не работает ни в файловой системе, доступной только для чтения, где я не могу обновить файл.
Другие примеры предлагают использовать X509TrustManager, но если я правильно понял, это не работает глобально.
Есть ли какой-нибудь способ в Java или Spring Boot обновить глобальное хранилище доверенных сертификатов вообще программно, чтобы каждая операция в коде использовалась, и мне не пришлось реализовать что-то вроде TrustManager для каждого соединения? Моя цель — импортировать его в самом начале (аналогично тому, как это делается с помощью оболочки и keytool). Не затрагивая файловую систему, поскольку она доступна только для чтения.
Подробнее здесь: https://stackoverflow.com/questions/753 ... amatically