Наш сервис работает в кластере кубернетов. Я пытаюсь защитить нашу службу с помощью SSL.
Для этого я добавил в application.properties:
security.require-ssl=true
server.ssl.key-store-type=JKS
server.ssl.key-store=serviceCertificates.jks
server.ssl.key-store-password=${KEYSTORE_PASSWORD}
server.ssl.key-alias=certificate
Пароль хранилища ключей, который я хочу взять из секрета kubernetes, который определен в кластере.
Когда служба запускается, я получаю сообщение об ошибке Password verification failed
:
Мое расследование:
1. Если я напечатаю код
Я вижу его правильное значение.
2. Если я установил жестко запрограммированное постоянное значение пароля в свойствах приложения, оно работает, служба запущена и работает.
System.out.println("KEYSTORE_PASSWORD: "+ System.getenv("KEYSTORE_PASSWORD"));
Итак, я предполагаю, что проблема заключается в том, чтобы установить секретное значение для свойства приложения.
Будем признательны за вашу помощь и советы
Я думаю, что в вашем секретном дескрипторе есть опечатка или скрытый символ. Вы можете выполнить команду в модуле, проверить свойство системы, а также попытаться расшифровать пароль с помощью инструментов командной строки.