我有一个带有自签名证书的服务器,但也需要客户端证书身份验证。我在尝试获取原始 CA 服务器证书时遇到了困难,因此我可以将其导入密钥库。有人对如何轻松做到这一点有一些建议吗?
正在研究如何在使用 jenkins cli 时信任证书,并发现https://issues.jenkins-ci.org/browse/JENKINS-12629这有一些秘诀。
这将为您提供证书:
openssl s_client -connect ${HOST}:${PORT} </dev/null
如果您只对证书部分感兴趣,请将其通过管道传输到:
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
并重定向到一个文件:
> ${HOST}.cert
然后使用 keytool 导入它:
keytool -import -noprompt -trustcacerts -alias ${HOST} -file ${HOST}.cert \
-keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS}
一气呵成:
HOST=myhost.example.com
PORT=443
KEYSTOREFILE=dest_keystore
KEYSTOREPASS=changeme
# get the SSL certificate
openssl s_client -connect ${HOST}:${PORT} </dev/null \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ${HOST}.cert
# create a keystore and import certificate
keytool -import -noprompt -trustcacerts \
-alias ${HOST} -file ${HOST}.cert \
-keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS}
# verify we've got it.
keytool -list -v -keystore ${KEYSTOREFILE} -storepass ${KEYSTOREPASS} -alias ${HOST}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)