欢迎来到魔幻小生的博客

keytool生成多级证书链

前言

Keytool常用命令如下

image

image

Keytool生成多级证书链

下面以生成三级证书链为例:

建立根CA

根CA实际是一张自签CA,自签CA的使用者和颁发者都是它自己。首先建立一个密钥库文件keystore.jks,并创建rootca条目。

keytool -genkeypair -alias rootca -storetype PKCS12 -keystore keystore.jks -validity 3650 -keysize 2048 -keyalg RSA -storepass 12345678

image

从密钥库中导出rootca的证书rootca.cer

keytool -exportcert -keystore keystore.jks -storepass 12345678 -alias rootca -file rootca.cer

image

建立二级CA并签发该CA证书

二级CA证书需要由根证书进行签发,首先需要使用keytool生成二级CA的证书,但是此时的证书还是张自签证书,我们需要从中生成一个二级CA的证书请求(包含了公钥),然后通过将证书请求到rootca签发我们的二级证书,然后我们在将rootca签发的二级CA证书导入到导出证书请求的秘钥库中,完成二级CA的生成。

创建subca条目并保存至keystore.jks文件中

keytool -genkeypair -alias subca -storetype PKCS12 -keystore keystore.jks -validity 3650 -keysize 2048 -keyalg RSA -storepass 12345678

image

查看一下subca条目信息

keytool -list -v -alias subca -keystore keystore.jks -storepass 12345678

此时该条目还是张自签证书,无法直接使用,需要用rootca来签发subca的证书

image

生成证书请求文件subca.csr

keytool -certreq -alias subca -keystore keystore.jks -storepass 12345678 -file subca.csr

使用subca.csr去rootca签发证书subca.cer

keytool -gencert -keystore keystore.jks -storepass 12345678 -alias rootca -infile subca.csr -outfile subca.cer

image

更新密钥库keystore.jks中的subca条目

keytool -importcert -file subca.cer -alias subca -keystore keystore.jks -storepass 12345678

此时再查看subca条目颁发者已经变成rootca了

keytool -list -v -alias subca -keystore keystore.jks -storepass 12345678

image

建立用户user并使用subca签发用户证书

由于该步骤与上一步类似,这里就不再截图了

创建user条目并保存至keystore.jks文件中

keytool -genkeypair -alias user -storetype PKCS12 -keystore keystore.jks -validity 3650 -keysize 2048 -keyalg RSA -storepass 12345678

生成证书请求文件user.csr

keytool -certreq -alias user -keystore keystore.jks -storepass 12345678 -file user.csr

使用user.csr去subca签发证书user.cer

keytool -gencert -keystore keystore.jks -storepass 12345678 -alias subca -infile user.csr -outfile user.cer

更新密钥库keystore.jks中的user条目

keytool -importcert -file user.cer -alias user -keystore keystore.jks -storepass 12345678

我们可以把rootca.cer、subca.cer、user.cer安装至本机上,然后查看user.cer,可以看到证书链结构

image

posted @   魔幻小生  阅读(1003)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示