Хранилище HashiCorp весенняя загрузка. Конфигурация SSL клиента

#java #spring-boot #ssl #ssl-certificate #hashicorp-vault

#java #весенняя загрузка #ssl #ssl-сертификат #hashicorp-хранилище

Вопрос:

Я пытаюсь подключиться к серверу Vault из моего приложения Spring Boot. Итак, я прошел через это руководство: https://www.baeldung.com/spring-vault и получение исключения SSLHandshakeException:

 WARN  o.s.v.a.LifecycleAwareSessionManager - Cannot enhance VaultToken to a LoginToken: Token self- 
lookup failed; nested exception is org.springframework.web.client.ResourceAccessException: I/O error 
on GET request for 

"https://*my vault server*/auth/token/lookup- 
self": sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path 
to requested target; nested exception is javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path 
to requested target
16:49:40.487 [http-nio-8084-exec-1] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for 
servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; 
nested exception is org.springframework.web.client.ResourceAccessException: I/O error on GET request 
for "https://*my vault server*/": 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path 
to requested target; nested exception is javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path 
to requested target] with root cause
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path 
to requested target
  

Итак, я поместил файл keystore.jks в папку resources и вставил следующие конфигурации в application.yml:

 spring.cloud.vault:
ssl:
    trust-store: classpath:keystore.jks
    trust-store-password: changeit
  

И все еще выдает ошибку. Что я делаю не так?
Есть ли какие-либо способы установить для проверки ssl значение false, как я сделал в Postman?

Комментарии:

1. Вам необходимо импортировать сертификат сервера keyvault в java cacerts , используя keytool команду для импорта.

2. @PandeyAmit Вы имеете в виду этот корневой файл — import -trustcacerts -alias my-root.cer -keystore keystore.jks? Уже сделал.

3. Лучше импортировать JAVA_HOMElibsecuritycacerts или использовать этот способ java -jar -Djavax.net.ssl.trustStore=/path/to/keystore.jks -Djavax.net.ssl.trustStorePassword=password your-app.jar

4. @PandeyAmit Да! Это сработало. Большое вам спасибо!

5. Кто-нибудь знает, как отключить ssl в vault?