Секреты Kubernetes и конфигурация весенней загрузки

Наш сервис работает в кластере кубернетов. Я пытаюсь защитить нашу службу с помощью 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"));   

Итак, я предполагаю, что проблема заключается в том, чтобы установить секретное значение для свойства приложения.
Будем признательны за вашу помощь и советы

Я думаю, что в вашем секретном дескрипторе есть опечатка или скрытый символ. Вы можете выполнить команду в модуле, проверить свойство системы, а также попытаться расшифровать пароль с помощью инструментов командной строки.


person Tantre    schedule 17.06.2018    source источник


Ответы (1)


Спасибо за ответ. Я проверял секретное имя много раз и распечатал его, как показано. Секретное имя и значение верны.

person Raj    schedule 17.06.2018
comment
если бы секретное имя было неправильным, я бы получил сообщение об ошибке _1_. Я пробовал. - person Tantre; 17.06.2018
comment
Можете ли вы войти в модуль в интерактивном режиме (надеюсь, что изображение, которое вы используете, имеет оболочку), посмотрите системные свойства (printenv) и проверьте значение. - person Tantre; 17.06.2018
comment
Ты прав! Я обнаружил, что секрет содержит пароль с \ n в конце. Я напечатал пароль в кавычках и увидел: `KEYSTORE_PASSWORD: 123456` (цитата в следующей строке) Спасибо! - person Raj; 18.06.2018
comment
"org.apache.catalina.LifecycleException: не удалось запустить компонент [Коннектор [HTTP / 1.1-8080]] \ n \ tat org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:167) \ n \ tat org .apache.catalina.core.StandardService.addConnector (StandardService.java:225) \ n \ tat org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors (TomcatWebServerframe.java:25 .boot.web.embedded.tomcat.TomcatWebServer.start (TomcatWebServer.java:198) \ n \ tat org.springframework.boot.web.servlet.context.ServletWebServerContext.Context.startWebServer (Servletjava_serverContext.context.startWebServer (Servletjava_txt) \ Application_Application \ ngtext.sublication \ txt_application \ txt) .springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh (ServletWebServerApplicationContext.java:162) \ n \ tat org.springframework.context.support.AbstractApplicationContext. .boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplica tionContext.java:140)\n\tat org.springframework.boot.SpringApplication.refresh (SpringApplication.java:759) \ n \ tat org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:395) \ n \ tat org.springframework.boot.SpringApplication.run (SpringApplication.java:327) \ n \ tat org.springframework.boot.SpringApplication.run (SpringApplication.java:1255) \ n \ tat org.springframework.boot.Spring ( SpringApplication.java:1243)\n\tat com.ibm.securityservices.cryptoutils.Application.main (Application.java:9) \ n \ tat sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) \ n \ tat sun.reflect .NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) \ n \ tat sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) \ n \ tat java.lang. n \ tat org.springframework.boot.loader.MainMethodRunner.run (MainMethodRunner.java:48) \ n \ tat org.springframework.boot.loader.Launcher.launch (Launcher.java:87) \ n \ tat org.spring ork.boot.loader.Launcher.launch (Launcher.java:50) \ n \ tat org.springframework.boot.loader.JarLauncher.main (JarLauncher.java:51) \ n Причина: org.apache.catalina.LifecycleException: Не удалось запустить обработчик протокола \ n \ tat org.apache.catalina.connector.Connector.startInternal (Connector.java:1020) \ n \ tat org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) \ n \ t ... 21 общий фрейм пропущен \ nПричина: java.lang.IllegalArgumentException: было подделано хранилище ключей или неверный пароль \ n \ tat org.apache.tomcat.util.net. AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:116) \ n \ tat org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl (AbstractJsseEndpoint.java:87) \ n \ tat org.apache.tomcatiopoint. bind (NioEndpoint.java:225) \ n \ tat org.apache.tomcat.util.net.AbstractEndpoint.start (AbstractEndpoint.java:1150) \ n \ tat org.apache.coyote.AbstractProtocol.start (AbstractProtocol.java: 591) \ n \ tat org.apache.catalina.connector.Connector.startInternal (Connector.java:1018) \ n \ t ... 22 общих кадра пропущены \ nПричина: java.io.IOException: Было подделано хранилище ключей, или пароль был неверным \ n \ tat sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:780) \ n \ tat sun.security.provider.JavaKeyStore $ JKS.engineLoad (JavaKeyStore.java:56) \ n \ tat sun.security.provider.KeyStoreDelegator.engineLoad (KeyStoreDelegator.java:224) \ n \ tat sun.security.provider.JavaKeyStore $ DualFormatJKS.engineLoad (JavaKeyStore.java:70) \ n \ tat java.security. KeyStore.java:1445)\n\tat org.apache.tomcat .util.net.SSLUtilBase.getStore (SSLUtilBase.java:139) \ n \ tat org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore (SSLHostConfigCertificate.java:204) \ nachetilBase.java:204) \ nachetil. .net.jsse.JSSEUtil.getKeyManagers (JSSEUtil.java:184) \ n \ tat org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext (AbstractJsseEndpoint.java:114) \ n \ t ... 27 общих фреймов опущены \ nПричина: java.security.UnrecoverableKeyException: Ошибка проверки пароля \ n \ tat sun.security.provider.JavaKeyStore.engineLoad (JavaKeyStore.java:778) \ n \ t ... 35 общих кадров пропущено \ n "} - person Tantre; 18.06.2018