Несколько вариантов:
Поместите ваши JKS-файлы, которые защищены паролем, как файл внутри вашего приложения. Передайте пароль, чтобы прочитать их, используя переменную среды, предоставляемую пользователем службу, через Spring Config Server или через брокера служб CredHub.
То же, что и # 1, но создайте небольшой пользовательский сборочный пакет, который устанавливает ваши файлы JKS. Используйте функциональность multi-buildpack для платформ, чтобы сначала запустить свой собственный buildpack, а затем Java buildpack. Эта опция немного удобнее, если у вас много приложений, использующих одни и те же файлы JKS.
Base64 кодирует ваши JKS-файлы и помещает их в переменную среды, предоставляемую пользователем службу, Spring Config Server или через сервисный брокер CredHub. Извлекайте и декодируйте их при запуске приложения, либо в файле .profile
, либо в самом приложении.
При создании вашего JAR-файла вы можете запустить run jar uf <path/to/file.jar> .profile
, и он добавит файл .profile
в корень вашего JAR-файла.
Вы можете подтвердить, что он в нужном месте, запустив jar tf <path/to/file.jar>
. Вывод должен выглядеть следующим образом ...
...
BOOT-INF/lib/jackson-annotations-2.9.0.jar
BOOT-INF/lib/jackson-core-2.9.6.jar
BOOT-INF/lib/reactive-streams-1.0.2.jar
BOOT-INF/lib/logback-core-1.2.3.jar
BOOT-INF/lib/log4j-api-2.10.0.jar
<rest of your files here>
...
.profile
Обратите внимание, что перед .profile
нет пути. Вот где он должен быть для правильной работы.
Надеюсь, это поможет!