代码之家  ›  专栏  ›  技术社区  ›  tobre

来自Windows AD CS的Jenkins SSL证书

  •  1
  • tobre  · 技术社区  · 8 年前

    我正在尝试在Windows上使用以下SLL证书配置Jenkins these instructions 。我们的IT管理员希望使用Windows AD CS和mmc的证书管理单元生成证书,而不是使用Digicert证书。 但是,我们无法确定如何将keytool生成的csr证书请求导入证书管理单元。 如果在mmc证书存储中使用带有重新创建的证书请求的证书,则会拒绝该证书,并显示以下消息:

    keytool -importcert -alias jenkins -file "D:\Temp\jenkins\jenkins.pem" -keystore "D:\Temp\jenkins\jenkins.jks"
    Enter keystore password:
    keytool error: java.lang.Exception: Certificate reply does not contain public key for <jenkins>
    

    有人知道如何根据java keytool创建的csr证书请求从Windows证书存储创建SSL证书吗?

    2 回复  |  直到 8 年前
        1
  •  2
  •   U880D    8 年前

    我能够让Jenkins使用SSL运行,这就是我所做的。

    关于詹金斯大师

    1. 在mmc的证书管理单元中,导航到证书(本地 计算机)/个人。

    2. 右键单击“个人文件夹”,然后选择“所有任务/请求新建” 证明书

    3. 单击next(下一步)确认接下来的两个注册页面。

    4. 检查Web服务器Active Directory注册策略。

    5. 注册策略下方显示警告消息

      注册此证书需要更多信息。单击此处 配置设置。

      单击它。

    6. 填写证书属性:
      主题名称:通用名称: [jenkins服务器的名称]
      备选名称:DNS:[the jenkins服务器的名称]
      备选名称:DNS:[完整 jenkins服务器的名称,包括您的域]
      确认 使用“确定”和以下两页翻页。

    7. 将证书导出为PFX格式
      右键单击 证明书
      所有任务/导出。。。

    8. 检查:是,导出私钥
      选中包括全部 证书路径中的证书(如果可能)
      检查: 导出所有扩展属性
      因为我们正在出口 私钥,我们必须提供密码
      检查:密码和 输入密码和密码确认

    9. 选择PFX证书的路径并完成导出。

    10. 在没有密码的情况下再次导出证书 Base-64编码的X.509(.CER)格式。
    11. 重命名结果。CER文件到。PEM。

    12. 使用在Jenkins服务器上创建java密钥存储

      keytool -genkeypair -keysize 2048 -keyalg RSA -alias jenkins -keystore jenkins.jks
      
    13. 回答适合您公司和组织的问题。

    14. 使用将PFX证书导入java密钥库

      keytool -importkeystore -srckeystore jenkins.pfx -srcstoretype pkcs12 -destkeystore jenkins.jks -deststoretype JKS
      
    15. 复制 jenkins.jks 到Jenkins所在的机密目录 已安装(在我的情况下 C:\Program Files (x86)\Jenkins\secrets )。

    16. 将证书添加到Jenkins启动参数:

       -Djavax.net.ssl.trustStore=%JENKINS_HOME%\secrets\jenkins.jks
       -Djavax.net.ssl.trustStorePassword=[your password for the java key store]
      
    17. 重新启动jenkins服务

    关于Jenkins探员

    1. 使用管理员权限从命令行将上面的PEM证书导入java密钥库:

      keytool -import -alias jenkins -keystore "C:\Program Files (x86)\Java\jre1.8.0_161\lib\security\cacerts" -file [your pem file]
      

      输入密钥库的密码(通过 默认更改)
      信任此证书?[否]:是

    2. 确保您的 jenkins-slave.xml 在里面 %JENKINS_HOME% 不包含 -noCheckCertificate 在参数中。

    3. 重新启动服务 jenkinsslave-D__Jenkins

        2
  •  0
  •   K. B.    8 年前

    我正在读 tutorial 你在帖子中提到过。我看到这句话: “如果制作自己的证书,请跳过步骤3、4和5”。您的代码似乎是步骤5中指定的。

    您可以尝试将密钥库文件复制到步骤6中提到的Jenkins secrets目录。

    This link 也可能有帮助。