使用StartSSL配置Jenkins - 添加颁发者链

时间:2014-03-14 14:30:44

标签: ssl jenkins

我无法正确配置Jenkins以使用StartSSL证书。 我使用命令行参数运行它,指定私钥和我的证书的路径,如Jenkins Wiki所示(在底部:https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins)。

  • 我从StartSSL
  • 获得了私钥和证书
  • 我已将它们放在特定的文件夹中
  • 我按照以下方式运行Jenkins:java -jar jenkins.war --httpPort=-1 --httpsPort=8080 --httpsCertificate=<mydomain.crt file> --httpsPrivateKey=<my private key file>

Jenkins成功开始。在Firefox中打开https://mydomain:8080/表示连接不受信任:

mydomain:8080 uses an invalid security certificate.
The certificate is not trusted because no issuer chain was provided.
(Error code: sec_error_unknown_issuer)

我已尝试在各种SSL检查网站上验证mydomain:8080

OK mydomain resolves to xxx.xxx.xxx.xxx

OK The certificate was issued by StartCom.  

OK The certificate will expire in XXX days. 

OK The hostname (mydomain) is correctly listed in the certificate.

Not OK The certificate is not trusted in all web browsers.
       You may need to install an Intermediate/chain certificate
       to link it to a trusted root certificate.

StartSSL没有设置Jenkins的明确说明。我已尝试跟进其他类型服务器的类似教程,并将StartCom中的中间权限文件复制到统一证书(ca.pemsub.class1.server.ca.pem,如下所示:http://www.startssl.com/?app=42)。

然而,这并没有改变任何事情。

像www.sslshopper.com/ssl-checker.html这样的SSL检查程序仍然报告该网站不受信任。 此外,由于同样的原因,GitHub图像缓存服务不会从Jenkins渲染构建状态图标。

如何正确地将发卡行链接添加到我的证书中?

1 个答案:

答案 0 :(得分:6)

我遇到了类似的问题,经过一些研究后得到的一切都值得信赖:

  1. 使用您提到的链接将中间权限证书和<mydomain.crt file>合并到1个名为merged.cer的统一证书中

  2. (来自:https://serverfault.com/questions/569866/jenkins-wont-serve-with-ca-signed-certificate

    openssl pkcs12 -inkey /location/to/key.pem -in /location/to/merged.cer  -export -out keys.pkcs12
    
    keytool -importkeystore -srckeystore keys.pkcs12 -srcstoretype pkcs12 -destkeystore jenkins.jks
    
  3. 注意:用于merged.cer的密钥应与<my private key file>

    相同

    然后按照Jenkins Wiki使用KeyStore而不是证书

        java -jar jenkins.war --httpPort=-1 --httpsPort=8080 --httpsKeyStore=/path/to/jenkins.jks --httpsPrivateKey=<my private key file>