客户端配置ca和自己的证书私钥 java 配置truststore和密码,并修改java启动参数
root@saltjenkins:~# grep -i keystore /etc/default/jenkins
JAVA_ARGS="-Djava.awt.headless=true -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStore=/var/lib/jenkins/cacerts -Djavax.net.ssl.keyStorePassword=123123 -Djavax.net.ssl.keyStore=/var/lib/jenkins/jenkins.p12"
trsutstore和keystore分别是存放ca证书和自己的证书和私钥,因为keystore不支持分别导入证书和私钥,因此需要把pem格式转换成pk12然后再导入
cat jenkins.pem jenkins-key.pem > jenkins-p12.txt
openssl pkcs12 -export -in jenkins-p12.txt -out jenkins.pkcs12 -name jenkins.home.kd -noiter -nomaciter
keytool -importkeystore -srckeystore /var/lib/jenkins/jenkins.p12 -destkeystore /var/lib/jenkins/cacerts -srcstoretype pkcs12 -deststoretype jks
上面三个命令,前两个命令是把pem格式的证书和私钥转换成pkcs12格式,第三个命令是把pkcs12导入keystore里,然后在java启动的时候指定这个keystore就可以了。
几个有用的命令: openssl verify -CAfile $cacert $cliencert
使用ca证书验证