openSSL 生成证书 (三级_证书链) linux

血红的双手。 提交于 2019-11-29 20:04:08

生成思路:

1.创建CA私钥  (ROOT根证书)

2.生成CA证书请求

3.CA私钥自签名CA证书并导出 根证书.cer

4.创建中间证书 私钥

5.生成中间证书请求

6.CA私钥签名并导出  中间证书.cer

7.创建 用户证书私钥

8.生成用户证书请求

9.中间证书私钥签名并导出 用户证书.p12  (包含公钥证书+用户证书私钥)

最终得到: 根证书.cer , 中间证书.cer , 用户证书.pfx

 

参考文档: ?

生成自签名CA证书与中证书 https://blog.csdn.net/moonhillcity/article/details/52768218

生成中间证书并使用根证书CA签名 可指定版本算法 https://blog.csdn.net/ld11690/article/details/79205566

openssl x509命令详解  https://blog.csdn.net/abccheng/article/details/82697237

CA证书与用户证书的区别及其配置  https://blog.csdn.net/howeverpf/article/details/21622545#t2

1.建立工作环境:

mkdir -p ./demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial

 

2.创建CA  rsa密钥并自签名

#生成CA私钥
openssl genrsa -out ca.key 2048
#生成CA证书请求文件 -utf8 支持中文
openssl req -new -key ca.key -out ca.csr -utf8
#使用CA私钥 生成自签名证书 可指定算法与版本 -extensions v3_ca 表示此证书为可签发下级证书的CA(非用户证书) 
openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.cer -extfile /usr/lib/ssl/openssl_modify_CA.cnf -extensions v3_ca -sha1

3.创建中间证书MID 通过CA根证书签发(私钥签名)

#生成中间证书私钥
openssl genrsa -out mid.key 2048
#生成中间证书请求文件-utf8 支持中文
openssl req -new -key mid.key -out mid.csr -utf8
#使用CA根证书签发中证书 -extensions v3_ca 表示此证书为可签发下级证书的CA(非用户证书)
openssl x509 -req  -CA ca.cer -CAkey ca.key -days 3650 -in mid.csr -out mid.cer -sha1 -CAserial ca.srl -CAcreateserial -extensions v3_ca -extfile /usr/lib/ssl/openssl_modify_CA.cnf

4.PKCS#12  个人身份证书  通过中间证书签发,在通过openssl 命令将 公钥证书与私钥组合成 pfx文件

#创建证书 私钥
openssl genrsa -out last.key 2048
#生成证书请求
openssl req -new -key last.key -out last.csr -utf8
#生成cer 公钥证书  -extensions v3_req 表示此证书为用户证书 不可签发下级证书 (非CA证书)
openssl x509 -req  -CA mid.cer -CAkey mid.key -days 3650 -in last.csr -out last.cer -sha1 -CAserial mid.srl -CAcreateserial -extensions v3_req  -extfile /usr/lib/ssl/openssl.cnf
#合并公钥证书与私钥
openssl pkcs12 -export -out last.pfx -inkey last.key -in last.cer

 


异常处理办法:

mkdir -p ./demoCA/newcerts
touch demoCA/index.txt
touch demoCA/serial
echo 01 > demoCA/serial

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!