我有一个 Tomcat 服务器,其 HTTPS 证书链存储在 Java 密钥库中。该链包含自签名根 CA 证书。虽然这显然没问题TLS 规范,一些验证服务对此发出警告,并且最好还是把它关掉.
如何编辑密钥库以仅删除自签名根 CA 证书,但保持链的其余部分和私钥完好无损?
首先,将密钥库从 JKS 转换为 PKCS12(此命令和其他命令将需要输入密码):
keytool -importkeystore -srckeystore old.jks -destkeystore old.p12 -deststoretype pkcs12
接下来,从 PKCS12 文件中导出包含密钥和证书的 PEM 文件:
openssl pkcs12 -in old.p12 -out pemfile.pem -nodes
现在只需使用文本编辑器进行编辑pemfile.pem
并删除有问题的证书(及其前面的“包属性”)。
接下来,将编辑后的 PEM 文件加载到新的 PKCS12 文件中。您需要为证书/密钥提供适当的密钥库别名,例如“tomcat”,此时。
openssl pkcs12 -export -in pemfile.pem -name tomcat -out new.p12
最后,从 PKCS12 转换回 JKS:
keytool -importkeystore -srckeystore new.p12 -destkeystore new.jks -srcstoretype pkcs12
文件new.jks
就是你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)