我已经得到了:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
.
.
Caused by: 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在搜索如何解决此异常时,我遇到了我不理解的术语Keystore。简单地说,Keystore是什么?它与SSL有何关系?
发布于 2014-11-12 21:42:22
Java中的密钥库可以指三件事,这取决于上下文。(它们都是密切相关的,但又有细微的差别。)
KeyStore也是标准API的一部分。它本质上是一种加载、保存和通常与上面描述的“物理”密钥库之一交互的方式。如果你只需要你的应用程序的KeyStore抽象,那么它也可以只在内存中。如何加载和处理这样的KeyStore实例取决于支持它的密钥库文件(或其他存储系统)的格式。Multiple formats是可用的。其中最常见的是(.p12).
- A `TrustManager` determines whether the remote authentication credentials (and thus the connection) should be trusted.
- A `KeyManager` determines which authentication credentials to send to the remote host.从本质上讲,用作信任库的密钥库将包含许多您愿意信任的(CA)证书:这些证书是您将用来验证您尚未知道和信任的远程证书的信任锚。相反,用作密钥库的密钥库将包含您自己的证书及其私钥:这是您将用于向远程方(在需要时)进行身份验证的密钥。
有一个默认的信任库与JRE (/lib/security/cacerts)捆绑在一起。没有默认的keystore,因为对于用户来说,这通常是一个更明确的步骤。
在SSL/TLS上下文中,密钥库(用作密钥库)将是服务器存储其证书和私钥的位置(或者,当使用客户端证书身份验证时,客户端存储其证书和私钥)。信任库(用作信任库的密钥库)将是客户端存储其愿意信任的CA的CA证书的位置,以便能够在连接到SSL/TLS服务器时验证服务器证书(类似地,在服务器端,这也是用于验证客户端证书的CA证书的存储位置)。
通常,当您正在连接的服务器的证书无法使用您正在使用的信任库中的任何证书进行验证时,就会出现错误("ValidatorException: PKIX path building failed")。您通常需要在您的信任库中直接拥有服务器证书(仅在小范围内可管理),或者用于颁发该服务器证书的CA的CA证书(或者当存在链时,CA证书是链中的一个证书)。
发布于 2014-11-12 15:32:55
简单地说,要建立到SSL端点的连接,您必须信任它的公共证书。要信任证书,证书本身或其颁发者的证书必须在密钥库中。
可以将密钥库看作一组文件夹或包含证书的数据库/存储库。从物理上讲,它是JRE (/lib/security/cacerts)中的一个文件。
可以使用JRE附带的keytool命令修改此存储库。有关一些常用命令,请参阅this link。另一种方法是使用Java控制面板的证书对话框(它也随JRE一起安装):

发布于 2019-11-26 23:31:56
我也有这个问题,因为我在JDK中导入了一个不被我的java程序使用的证书,所以检查你的程序的当前JDK,然后运行key tool命令:
keytool -importcert –trustcacerts -alias [certificate name] -keystore "C:\Program Files\Java\jdk1.7.0_71\jre\lib\security\cacerts" -storepass changeit -file [certificate name].cerhttps://stackoverflow.com/questions/23202046
复制相似问题