首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧跳台SSLPeerUnverifiedException

弹簧跳台SSLPeerUnverifiedException
EN

Stack Overflow用户
提问于 2020-03-09 22:24:04
回答 1查看 772关注 0票数 1

我在Spring中运行了一个应用程序,使用Spring检索密码。它正在使用KubernetesAuthentication登录。在我升级到SpringBoot2.2.5之前,这种方法运行得很好。然后我开始得到SSLPeerUnverifiedException。

代码语言:javascript
复制
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]

对于下面的依赖项,一切都正常工作:

代码语言:javascript
复制
spring-vault-core: 2.2.2.RELEASE
org.springframework.web: 5.2.3.RELEASE
httpcomponents.httplient: 4.5.10

更新到下面,它开始失败:

代码语言:javascript
复制
spring-vault-core: 2.2.2.RELEASE
org.springframework.web: 5.2.4.RELEASE
httpcomponents.httplient: 4.5.11

我可以通过提供一个自定义ClientHttpRequestFactory来使它工作,而不是使用默认的。

创建这样的Vault RestTemplate会导致SSLPeerUnverifiedException

代码语言:javascript
复制
VaultClients.createRestTemplate(vaultEndpointProvider(vaultEndpoint),
                new HttpComponentsClientHttpRequestFactory());

像这样创建RestTemplate是可行的:

代码语言:javascript
复制
VaultClients.createRestTemplate(vaultEndpointProvider(vaultEndpoint),
            new CustomRequestFactory()) //extends SimpleClientHttpRequestFactory

问题是为什么Spring/HttpClient中的更新会导致证书验证失败。证书似乎有效,因为我连接的主机位于证书的SAN中。

更新问题似乎与httpcomponents.httplient 4.5.11有关。我可以通过使用Spring-VaultSpringSpring-Boot的最新版本以及使用httpcomponents.httplient 4.5.104.5.12来使其工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-10 05:47:35

这是由HttpClient版本4.5.11中引入的一个错误造成的。固定在4.5.12

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60609137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档