根据各种网络输入,我按照以下步骤将证书添加到我的本地jdk密钥库:
通过从Linux主机点击以下命令来下载证书:openssl s_client -connect MyService:443 -showcerts
复制(包括)------ BEGIN CERTIFICATE --------和-------- END CERTIFICATE ---------之间的内容,将其保存为C:\ Java \ jre \ lib \ security \ cer1.cer
键入:C:\ Java \ jre \ bin> keytool -keystore C:\ Java \ jre \ lib \ security \ cacerts -importcert -alias cer1 -file C:\ Java \ jre \ lib \ security \ cer1.cer
这显示证书成功添加的消息。我使用keytool的list命令验证了哪些
“sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径”
使用的JDK:1.8.0_31,Windows 7
请帮忙!
答案 0 :(得分:4)
如果您使用的是JDK,将其添加到JRE信任库则无济于事。您需要将它添加到JDK内部的JRE的信任库中。
答案 1 :(得分:1)
有两种类型的设置我们能够使其工作:
在一台机器上,安装JDk的人对安装Java的文件夹结构进行了一些更改,并具有以下结构:Java / jre / lib / security以及Java / lib / security。我们为Java / lib / security的cacerts添加了证书,它开始工作
在第二台机器上,用户执行了默认的istallation,存在以下文件夹结构:Java / jre_1.8 / lib / security和Java / jdk_1.8 / jre / lib / security。我们更新了Java / jre_1.8 / lib / security中的cacerts并开始工作(出于某种原因,更新Java / jdk_1.8 / jre / lib / security中的cacart并不起作用)