SSL身份验证错误-PKIX路径构建失败

时间:2018-12-02 06:49:06

标签: ssl mutual-authentication

我有2个基于Spring Boot的应用程序。应用程序使用SSL部署。这些应用程序具有同时也是HTTPS的LoadBalancer。因此,LoadBalancer URL的客户端是HTTPS,而后端服务器的LoadBalancer也是HTTPS。

  1. App1-app1.test.com
  2. App2-app2.test.com

LoadBalancer和后端服务器的证书不同。

因此,Loadbalancer1中的证书具有CN = app1.test.com。 Loadbalancer2中的证书具有CN = app2.test.com。

两者的根CA相同。

app1和app2的后端服务器中的证书与CN = app.test.com相同,而根CA在这里不同。

客户端正在app1服务器中运行,并试图访问app2.test.com。

信任库具有两个证书的根CA。

但是,仍然出现以下错误。

app2服务器上发生错误。

代码:

x509TrustManager.checkClientTrusted(new X509Certificate[] { certificate }, “RSA”);

上面的代码出错。

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
    at sun.security.validator.Validator.validate(Validator.java:260)
    at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:227)
    at sun.security.ssl.X509TrustManagerImpl.checkClientTrusted(X509TrustManagerImpl.java:99)
    at 

......... ..............

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
    ... 64 common frames omitted
2018-11-30T06:45:18.108+0000 DEBUG : loggerName

0 个答案:

没有答案