Jenkins SSL certificate from Windows AD CS



我正在尝试按照这些说明在Windows上配置Jenkins。我们的IT管理员不用使用Digicert证书,而是希望使用Windows AD CS使用MMC的证书来生成证书。但是,我们无法弄清楚如何将钥匙室生成的CSR证书请求导入证书快照。如果我在MMC证书存储中使用带有重新创建的证书请求的证书,则拒绝证书,并附有以下消息:

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

有人知道如何基于Java Keytool创建的CSR证书请求从Windows证书存储中创建SSL证书?

我能够与SSL一起运行Jenkins,这就是我所做的。

在Jenkins Master上

  1. 在MMC的证书快照中,导航到证书(本地计算机(/个人。

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

  3. 通过单击下一步确认接下来的两个注册页面。

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

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

    注册此证书需要更多信息。点击这里 配置设置。

    单击它。

  6. 填写证书属性:
    主题名称:通用名称:[您的Jenkins Server的名称]
    替代名称:DNS:[詹金斯服务器的名称]
    替代名称:DNS:[完整詹金斯服务器的名称包括您的域]
    确认带有确定和以下两页的页面。

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

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

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

  10. 在没有密码的情况下再导出证书 基本-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)Jenkinssecrets(。

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

     -Djavax.net.ssl.trustStore=%JENKINS_HOME%secretsjenkins.jks
     -Djavax.net.ssl.trustStorePassword=[your password for the java key store]
    
  17. 重新启动詹金斯服务

在Jenkins代理上

  1. 带有管理员priviliges的命令行中的PEM证书从上方导入Java密钥库:

    keytool -import -alias jenkins -keystore "C:Program Files (x86)Javajre1.8.0_161libsecuritycacerts" -file [your pem file]
    

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

  2. 确保%JENKINS_HOME%中的jenkins-slave.xml不包含 参数中的-noCheckCertificate

  3. 重新启动服务jenkinsslave-D__Jenkins

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

您可以尝试将密钥库文件复制到您的Jenkins Secrets目录,如第6步中所述。

此链接也可以有用。

最新更新