欢迎来到魔幻小生的博客

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 @ 2021-04-19 22:20  魔幻小生  阅读(905)  评论(0编辑  收藏  举报