我们正在使用Google的资本重组,在导入相应的证书(使用java应用程序)之后,仍然存在以下错误:
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
我们使用的是JDK_1.7.51和Tomcat8。
我们列出了证书,并且可以看到证书是存在的和有效的,即使这样,我们仍然有前面提到的异常:
别名: google.com创建日期:7-8月-2017年条目类型: trustedCertEntry 所有者: CN=www.google.com,O=Google Inc,L=Mountain View,ST=California,C=US Issuer: C=DE,CN=AXA代理发行-CN 17,OU=IF-NDSG,O=AXA技术服务德国GmbH序列号:C=DE 有效期:2010年7月12日14:25:22至2017年10月4日13:57:00 证书指纹: 52:73:92:40:38:DF:AB:2B:ED:5B:19:10:00:1D:57:7C SHA1: 76:F8:DC:99:CD:07:F8:81:4F:E5:48:C3:F4:4F:71:46:24:CE:F3:54 SHA256: 9B:72:1F:69:85:4C:AD:20:39:16:D4:7A:12:62:0D:8B:03:EC:8B:2F:E8:FD:40:FA:2E:D2:0E:F3:6A:1F:34:59签名算法名称: SHA256withRSA版本:3
有人能帮帮我吗?
发布于 2017-09-04 13:04:52
您的客户端位于防火墙后面,通过动态生成SSL的代理进行HTTPS请求,以便窃听正在交换的数据。您可以看到,您正在检查的“谷歌证书”的发行者:
Issuer: C=DE, CN=AXA-DE-Proxy-Issuing-CA17, OU=IF-NDSG, O=AXA Technology Services Germany
Java有自己的root-CA-keystore,标准证书检查在这里寻找可信的根CA,而窃听者的根证书显然在那里丢失。
要消除此错误,并让java客户机错误地假设证书是由受信任的CA签名的,您需要将CA根证书添加到Java的根密钥存储库。另一个解决方案是使用您自己的TrustManager建立SSL连接。你用使用您自己的SSLContext来设置信任,并亲自使用密钥管理器。做的。
前者需要在每个Java安装中完成,后者在应用程序中工作。
https://stackoverflow.com/questions/46037110
复制相似问题