我正在尝试按照这些说明在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上
-
在MMC的证书快照中,导航到证书(本地计算机(/个人。
-
右键单击个人文件夹,然后选择所有任务/请求新证书...
-
通过单击下一步确认接下来的两个注册页面。
-
检查网络服务器Active Directory注册策略。
-
警告消息显示在注册策略下面
注册此证书需要更多信息。点击这里 配置设置。
单击它。
-
填写证书属性:
主题名称:通用名称:[您的Jenkins Server的名称]
替代名称:DNS:[詹金斯服务器的名称]
替代名称:DNS:[完整詹金斯服务器的名称包括您的域]
确认带有确定和以下两页的页面。 -
将证书导出为PFX格式
右键单击证书
所有任务/导出... -
检查:是的,导出私钥
检查包含全部证书路径中的证书(如果可能(
检查:导出所有扩展属性
因为我们正在导出私钥,我们必须提供密码
检查:密码和输入您的密码和密码确认 -
选择PFX证书的路径并完成导出。
- 在没有密码的情况下再导出证书 基本-64编码X.509(.cer(格式。
-
将结果.cer文件重命名为.pem。
-
使用
在Jenkins服务器上创建Java密钥存储keytool -genkeypair -keysize 2048 -keyalg RSA -alias jenkins -keystore jenkins.jks
-
回答适合您公司和组织的问题。
-
使用
将PFX证书导入Java键盘keytool -importkeystore -srckeystore jenkins.pfx -srcstoretype pkcs12 -destkeystore jenkins.jks -deststoretype JKS
-
将
jenkins.jks
复制到Jenkins所在的秘密目录 已安装(在我的情况下C:Program Files (x86)Jenkinssecrets
(。 -
将证书添加到Jenkins启动参数:
-Djavax.net.ssl.trustStore=%JENKINS_HOME%secretsjenkins.jks -Djavax.net.ssl.trustStorePassword=[your password for the java key store]
-
重新启动詹金斯服务
在Jenkins代理上
-
带有管理员priviliges的命令行中的PEM证书从上方导入Java密钥库:
keytool -import -alias jenkins -keystore "C:Program Files (x86)Javajre1.8.0_161libsecuritycacerts" -file [your pem file]
输入密钥库的密码(通过 默认变更(
相信此证书?[否]:是 -
确保
%JENKINS_HOME%
中的jenkins-slave.xml
不包含 参数中的-noCheckCertificate
。 -
重新启动服务
jenkinsslave-D__Jenkins
。
我正在阅读您在帖子中提到的教程。我看到这句话:"如果自己制作自己的证书,则跳过步骤3、4和5"。您的代码似乎是步骤5中指定的代码。
您可以尝试将密钥库文件复制到您的Jenkins Secrets目录,如第6步中所述。
此链接也可以有用。