无法使用Nexus通过https/ssl代理Maven repo

无法使用Nexus通过https/ssl代理Maven repo,ssl,https,nexus,keytool,pkix,Ssl,Https,Nexus,Keytool,Pkix,我按照上给出的说明导入服务器证书 当我使用keytool-list时,我可以看到证书实际上在密钥库中。如果我尝试导入.crt文件,keytool会警告我密钥库已经包含证书 然后我用两个ssl选项更新了wrapper.conf。重启后,我可以在Nexus进程的命令行上看到它们 但是,当我尝试为远程服务器添加代理repo时,我总是得到sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.

我按照上给出的说明导入服务器证书

当我使用keytool-list时,我可以看到证书实际上在密钥库中。如果我尝试导入.crt文件,keytool会警告我密钥库已经包含证书

然后我用两个ssl选项更新了wrapper.conf。重启后,我可以在Nexus进程的命令行上看到它们

但是,当我尝试为远程服务器添加代理repo时,我总是得到sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径


我错过了什么?

错误消息意味着JVM无法正确验证远程服务器的SSL证书。如果远程服务器使用的是自签名证书,而不是由官方证书颁发机构(如verisign)签名的证书,这是非常常见的


你的信息令人困惑。您已经在Nexus实例上启用了SSL,但是,您提到的代理repo意味着问题SSL证书可能在另一台服务器上。

错误消息意味着JVM无法正确验证远程服务器的SSL证书。如果远程服务器使用自签名证书,而不是由官方证书颁发机构(如verisign)签名的证书,这是非常常见的


你的信息令人困惑。您已经在Nexus实例上启用了SSL,但是您提到的代理repo意味着问题SSL证书可能在另一台服务器上。

您必须将自定义CA证书导入到“信任库”中,而不是导入到“密钥库”中

创建“信任库”的过程与创建“密钥库”的过程相同。 一旦有了*.jks文件,然后使用以下系统属性链接它:

javax.net.ssl.trustStore=<file>
javax.net.ssl.trustStorePassword=<password>

您必须将自定义CA证书导入“信任库”,而不是导入“密钥库”

创建“信任库”的过程与创建“密钥库”的过程相同。 一旦有了*.jks文件,然后使用以下系统属性链接它:

javax.net.ssl.trustStore=<file>
javax.net.ssl.trustStorePassword=<password>

代理repo位于https服务器上,内置在Nexus服务器中的HTTP客户端无法连接。这是Maven->Nexus->远程服务器。第一个连接正常,第二个连接断开。远程服务器使用自签名证书。我将其导入密钥库,在命令行上指定了密钥库,并且我确信该密钥库已被使用,我尝试使用了错误的密码。我还需要做什么才能让Java使用密钥库中的证书?代理repo位于https服务器上,而内置在Nexus服务器中的HTTP客户端无法连接。这是Maven->Nexus->远程服务器。第一个连接正常,第二个连接断开。远程服务器使用自签名证书。我将其导入密钥库,在命令行上指定了密钥库,并且我确信该密钥库已被使用,我尝试使用了错误的密码。我还需要做什么才能让Java使用密钥库中的证书?