Spring Vault SSLPeerUnverifiedException - PullRequest
       37

Spring Vault SSLPeerUnverifiedException

1 голос
/ 10 марта 2020

У меня есть приложение, работающее в Spring Boot, использующее Spring Vault для получения паролей. Он использует KubernetesAuthentication для входа в систему. Это работало хорошо, пока я не обновился до Spring Boot 2.2.5. Затем я начал получать SSLPeerUnverifiedException.

org.springframework.web.client.ResourceAccessException:
    I/O error on POST request for "https://vault.vault.svc.cluster.local:8200/v1/auth/kubernetes/login"
javax.net.ssl.SSLPeerUnverifiedException: 
    Certificate for <vault.vault.svc.cluster.local> doesn't match any of the subject alternative names: [vault.vault, vault.vault-lite, vault.vault-ha, vault.vault-dev, vault.vault.svc.cluster.local, 127.0.0.1]

С приведенными ниже зависимостями все работает:

spring-vault-core: 2.2.2.RELEASE
org.springframework.web: 5.2.3.RELEASE
httpcomponents.httplient: 4.5.10

При обновлении ниже начинается сбой:

spring-vault-core: 2.2.2.RELEASE
org.springframework.web: 5.2.4.RELEASE
httpcomponents.httplient: 4.5.11

Я могу заставить его работать, предоставив пользовательский ClientHttpRequestFactory вместо использования по умолчанию.

Создание шаблона Vault RestTemplate таким образом вызывает SSLPeerUnverifiedException:

VaultClients.createRestTemplate(vaultEndpointProvider(vaultEndpoint),
                new HttpComponentsClientHttpRequestFactory());

Создание шаблона RestTemplate, как это работает :

VaultClients.createRestTemplate(vaultEndpointProvider(vaultEndpoint),
            new CustomRequestFactory()) //extends SimpleClientHttpRequestFactory

Вопрос в том, почему обновление в Spring / HttpClient приводит к сбою проверки сертификата. Сертификат кажется действительным, поскольку хост, к которому я подключаюсь, находится в SAN сертификата.

Обновление Кажется, проблема в httpcomponents.httplient 4.5.11. Я могу заставить его работать, используя последнюю версию Spring-Vault, Spring, Spring-Boot и используя httpcomponents.httplient 4.5.10 или 4.5.12

1 Ответ

1 голос
/ 10 марта 2020

Это было вызвано ошибкой, введенной в HttpClient версии 4.5.11. Исправлено в 4.5.12

https://issues.apache.org/jira/browse/HTTPCLIENT-2047

...