遇到如下错误:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException: trustAnchors参数必须非空

Nihal Reddy china Choudhary
2021-04-26 23:37

相关版本此信息与…有关人工版本6.x

此错误通常发生在您试图将Artifactory连接到远程端点使用HTTPS协议。这个问题只会在你试图连接到一个支持应用程序或者是运行在支持ssl的反向代理负载均衡器。这样的失败将返回以下内容错误信息:

java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException: trustAnchors参数必须非空

您可以运行以下命令命令看看是否SSL证书x射线或任何其他远程端点使用的自签名或者给定的证书是否已由已知的证书颁发机构:

Openssl s_client -showcerts -connect myxray.com:443

如果您的任何证书是自签名的,则需要按照本文其余部分中的说明将所需的自签名证书导入到Java可信密钥存储库(cacerts)中。如果您注意到SSL证书是由已知的证书颁发机构(例如,GlobalSign, GoDaddy, DigiCert, Symantec等)签名的,但您仍然看到上面的错误消息,那么可能是您的Artifactory实例指向无效的信任存储。

您可以通过查找以下java选项来检查这一点。-Djavax.net.ssl.trustStore = / home /除路径/ /

默认的下的文件ARTIFACTORY_HOME / etc /美元文件夹,用于Artifactory的服务安装。如果在默认文件中设置了此选项,则意味着Artifactory将不依赖于默认的java信任库$ JAVA_HOME / lib /安全/除并将使用“Java选项中给出的位置。如果java选项中提供的“cacerts”文件无效,则在连接到HTTPS端点时将导致错误。

如果您的Artifactory实例是独立的邮政编码文件中指定您的Java选项artifactory.default存档于ARTIFACTORY_HOME / bin /美元文件夹中。检查这个文件,看看您的Java选项是否被配置为指向除自定义的位置。这里有一个链接,显示了基于安装类型为Artifactory设置的java选项:

//m.si-fil.com/confluence/display/RTF/Installing+on+Linux+Solaris+or+Mac+OS#InstallingonLinuxSolarisorMacOS-SettingJavaMemoryParameters

如果是这种情况,那么从您的配置文件或者指向有a的位置有效的除文件。然后,重新启动Artifactory。删除这个java选项-Djavax.net.ssl.trustStore将强制Artifactory选择下面的默认java信任存储$ JAVA_HOME / lib /安全/除