我按照this page上的说明导入服务器证书。
当我使用keytool -list
时,我可以看到证书实际上在密钥库中。如果我尝试导入.crt
文件,keytool
会警告我密钥库已包含证书。
然后我用两个ssl选项更新了wrapper.conf
。重启后,我可以在Nexus进程的命令行上看到它们。
但是当我尝试为远程服务器添加代理仓库时,我总是得到sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我错过了什么?
答案 0 :(得分:4)
您必须将自定义CA证书导入“trustStore”而不是“keyStore”。
创建'trustStore'的过程与'keyStore'的过程相同。 获得* .jks文件后,使用以下系统属性链接它:
javax.net.ssl.trustStore=<file>
javax.net.ssl.trustStorePassword=<password>
答案 1 :(得分:1)
错误消息表示JVM无法正确验证远程服务器的SSL证书。如果远程服务器使用自签名证书而不是由官方证书颁发机构签署的证书(如verisign),则非常常见。
您的信息令人困惑。您已在Nexus实例上启用了SSL,但是您谈到了一个代理仓库,意味着SSL证书可能位于另一台服务器上。