SSL问题 - 与TFS的Jenkins从属连接问题

时间:2017-06-23 18:44:41

标签: java security ssl jenkins tfs

  1. 升级詹金斯。
  2. 创建了一个奴隶。
  3. 在Slave机器上安装了最新的JDK并启动了奴隶。
  4. 用奴隶标记作业并运行它时,出现上述错误..
  5. 在google上搜索并根据搜索将我的目标TFS的公共证书添加到位于C:\ Program Files(x86)\ Java \ jre1.8.0_131 \ lib \ security \ cacerts中的java密钥库。
  6. 它可以用于2个工作,出于某些目的,我没有标记工作并在主人身上运行,我再次将其标记回奴隶并运行它..问题又回来了。
  7. 尝试再次添加证书,但其提示的证书已经在密钥库中。 7确实卸载并重新安装了slave并更改了JAVA版本..没有运气.. 其余的日志低于5)
  8.   

    远程构建   节点1
      在工作区C:\ Builds \ Jenkins \ workspace \ Foot_Driver中   在' $ / AEXX /'查询远程变更集。截至' D2017-06-23T15:26:13Z' ...   致命错误:com.microsoft.tfs.core.exceptions.TECoreException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径

2 个答案:

答案 0 :(得分:0)

根据明确抱怨证书验证的错误信息sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targe。这可能是由于在使用以https协议运行的启用SSL的服务器的客户端上工作时。

尝试在-Djavax.net.ssl.trustStore中添加jenkins-slave.xml位置,并将 jssecacerts 添加到用于Jenkins的奴隶运行的java的lib\security

有关错误的更多信息,请查看此博客 - unable to find valid certification path to requested target

答案 1 :(得分:0)

通过将链中的所有证书添加到cacerts,问题得到解决。

  1. 使用(使用google.com替换您的域名)获取链中的所有证书列表
    openssl s_client -host google.com -port 443 -prexit -showcerts
  2. 将每个证书复制到一个单独的.pem文件中,例如 - VS_cert1.pem,VS_cert2.pem
  3. 将所有证书导入java cacerts
    keytool -import -alias VS1 -file“C:\ Users \ xxxx \ Desktop \ Temp \ VS_cert1.pem”-keystore“C:\ Program Files(x86)\ Java \ jre1.8.0_131 \ lib \ security \ cacerts”<登记/> keytool -import -alias VS2 -file“C:\ Users \ xxxx \ Desktop \ Temp \ VS_cert2.pem”-keystore“C:\ Program Files(x86)\ Java \ jre1.8.0_131 \ lib \ security \ cacerts”< / LI>
  4. 退回服务。