如何解决“无法找到请求目标的有效认证路径”错误

科恩的家伙
2023-01-22 11:09

在尝试建立可信SSL连接从Artifactory。

在需要连接到远程服务器的复制和其他任务期间,您可能会看到以下错误消息:

[ERROR] (o.a.a.r.c.BaseReplicationProducer:97) -为'XXXX'执行文件夹复制时发生错误:sun.security.validator.ValidatorException: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标:sun.security.validator.ValidatorException:

这表明Artifactory无法在SSL上建立可信SSL连接。如果您正在使用自签名证书或者是由内部证书颁发机构,或者你的客户端(如浏览器,Java)过时的

信任是通过而且中间您的SSL证书的证书。话虽如此,这可能如果您正在使用默认的JVM安全设置,则必须使用。

决议
首先,获取根证书。然后,执行以下步骤(注意,如果您在HA环境中工作,则需要将这些步骤应用于所有你的节点):

  1. 通过运行获取远程站点的根证书和中间证书openssl s_client -showcerts -connect :请注意:这可能如果您正在使用默认的JVM安全设置,则必须使用。

例如:

Openssl s_client -showcerts -connect google.com:443
  1. 将每个证书保存为文件。例如:
年代:/C=美国/ST=北卡罗莱纳州/L=罗利/O=红帽公司/OU=红帽网络/CN=授权主CA/ emailAddress = ca-support@redhat.com
i:/C=US/ST=North Carolina/L=Raleigh/O=Red Hat, Inc./OU=Red Hat Network/CN=Entitlement Master CA/emailAddress=ca-support@redhat.com

这表明发行人(我:)是一样的主题(s:)
因此,这是证书。保存证书的哈希值,确保包括:

——开始证书——和——结束证书——

随着crt

的新证书受信任的,你需要把它添加到你的应用程序密钥存储库或者目录所有需要信任它的服务。为JFrog平台建立一个证书的信任Artifactory 7.倍任务控制4.x,请按详细说明操作在这里.为Artifactory 6.倍任务控制3.x,使用以下说明:

  1. 确定哪些JVM平台Artifactory还在继续。
  2. 导入而且中间受信任根证书您在上面的步骤#1中确定的Java平台(通常称为)使用keytool进口命令。更多信息请查阅在这里

例如:

sudo keytool -importcert -keystore /usr/local/java/jdk1.8.0_60/jre/lib/security/cacerts -storepass changeit -file ~/下载/RHEL-cert/root。CRT -alias "rhel-root"

验证您的更改Admin =>仓库=>您的远程仓库=> Test =>
如果你仍然遇到连接失败,你可能需要重新启动使您的更改生效。

发布日期:2020年1月13日
最后更新:2020年12月21日

关键词:证书,Artifactory, SSL