我正在尝试使用these instructions之后的SLL证书在Windows上配置Jenkins。我们的IT管理员希望使用mmc的证书管理单元使用Windows AD CS生成证书,而不是使用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证书?
答案 0 :(得分:1)
我能够让Jenkins运行SSL,这就是我所做的。
关于詹金斯大师
在mmc的证书管理单元中,导航到证书(本地 电脑)/个人。
右键单击“个人文件夹”,然后选择“所有任务/请求新建” 证书...
单击“下一步”确认接下来的两个“注册”页面。
检查Web服务器Active Directory注册政策。
警告信息显示在注册政策
下方注册此证书需要更多信息。点击这里 配置设置。
点击它。
填写证书属性:
主题名称:通用名称:
[jenkins服务器的名称]
备用名称:DNS:[
您的jenkins服务器的名称]
备用名称:DNS:[完整
您的jenkins服务器的名称,包括您的域名)
确认
单击确定和以下两页。
将证书导出为PFX格式
右键单击
证书
所有任务/出口......
检查:是,导出私钥
检查包括全部
证书路径中的证书(如果可能)
检查:
导出所有扩展属性
因为我们正在出口
私钥,我们必须提供密码
检查:密码和
输入您的密码和密码确认
选择PFX证书的路径并完成导出。
将生成的.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)\Jenkins\secrets
)。
将证书添加到Jenkins启动参数:
-Djavax.net.ssl.trustStore=%JENKINS_HOME%\secrets\jenkins.jks
-Djavax.net.ssl.trustStorePassword=[your password for the java key store]
重新启动jenkins服务
在Jenkins代理上
使用管理员权限从上面将PEM证书从命令行导入java密钥库:
keytool -import -alias jenkins -keystore "C:\Program Files (x86)\Java\jre1.8.0_161\lib\security\cacerts" -file [your pem file]
输入密钥库的密码(by
默认更改)
信任此证书? [否]:是的
确保jenkins-slave.xml
中的%JENKINS_HOME%
不包含
参数中有-noCheckCertificate
。
重新启动服务jenkinsslave-D__Jenkins
。
答案 1 :(得分:0)