更新TeamCity服务器SSL证书后,TeamCity构建代理断开连接。

4
我们使用的是TeamCity 7.1.5。我更新了TeamCity服务器站点证书(用新的替换了server.p12文件)以供新时间段使用,但是TeamCity服务器与单个代理失去了连接。代理状态为断开连接,已授权,已启用。通过WEB浏览器,我导航到TeamCity站点,并确保新证书有效。

teamcity-agent.log文件中,我看到许多类似的消息,例如:

[2014-03-20 16:37:11,694] WARN - jetbrains.buildServer.AGENT - Ping问题:调用https://example.com/RPC2 buildServer.ping:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效认证路径

我该如何使用新证书解决代理连接问题?

使用旧站点证书时,TeamCity可以正常工作。

我看到旧证书和新证书的细节有所区别。旧证书签名算法是PKCs #1 SHA-1 With RSA Encryption。新证书签名算法是PKCs #1 SHA-256 With RSA Encryption。
1个回答

8
我通过将新证书添加到默认的java信任库中解决了相同的问题:
并将其导入java默认的信任库中:
keytool -import -trustcacerts -file <ca_file> -alias <CA_ALIAS> -keystore $JAVA_HOME/jre/lib/security/cacerts
  • [tmpFile] - 生成文件的名称。
  • [servers-keystore] - 您的服务器配置密钥库。
  • [CA_ALIAS] - 用于在密钥库中识别证书的别名。
  • [ca_file] - 指来自网站的 ca_file(可以通过 Chrome 导出)。

请检查 $JAVA_HOME 路径是否正确,如有需要,请替换为绝对路径。truststore(cacerts)的默认密码是:changeit。

有关 Java keytool 的更多信息,请点击此处

如果您没有 ca_file,请参阅此帖子

对于安装在 Windows 下的 TeamCity 代理,请将 "agent_installation_path/jre" 作为 "JAVA_HOME"。详见来源


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接