使用 openssl 命令创建证书申请.note

noteId: WEBe0745a30366f8a8f5dd972ff3b9c0dcf · 原始路径:/ALL/Linux - A模块/服务配置/CA根证书颁发机构/使用 openssl 命令创建证书申请.note · 图片:2 · 附件待处理:0

 
 
1、使用 openssl 创建证书申请:
 
·创建证书申请前,修改一个字段:
vim /etc/ssl/openssl.cnf
# 取消注释,这样openssl就会自动调用 extension
 
 
SAN的DNS这里必须,+一个空格
openssl req -out web.req -newkey rsa:2048 -nodes -keyout web.key -subj "/C=CN/L=Guangzhou/O=Worldskills_China/CN=www.cisco.com/"           -addext "subjectAltName=DNS:www.cisco.com, DNS:cisco.com,IP:192.168.1.10"    //DNS这里必须,+一个空格
openssl req -out web.req -newkey rsa:2048 -nodes -keyout web.key -subj "/C=CN/L=Guangzhou/O=Worldskills_China/CN=www.cisco.com/" -extensions usr_cert    //调用 openssl.cnf 文件
openssl req -out web.req -newkey rsa:2048 -nodes -keyout web.key -subj "/C=CN/L=Guangzhou/O=Worldskills_China/CN=www.cisco.com/" -config /etc/ssl/openssl.cnf -extensions usr_cert
# 不指定 -config 默认就会使用 /etc/ssl/openssl.cnf 文件
 
 
2、签发证书:
 
·注意:需要注意,如果采用的是 openssl 的方式签发,那么证书的“O”字段,组织字段,需要与 根CA的 组织一致,才能够正常签发证书,否则会报错:
使用 CA.pl 脚本签发则不会报错
 
 
(1)使用 CA.pl 脚本签发:
/usr/lib/ssl/misc/CA.pl -sign    //使用脚本签发
# 需要先将证书申请更名为:netreq.pem 才能够被识别到
 
 
 
(2)使用 openssl 命令签发:
openssl ca -in web.req -out web.crt
 
 
(3)使用 openssl 命令签发,提前指定密码,无需交换式输入密码:(适用于 脚本、Ansible)
openssl ca -in web.req -out web.crt -batch -passin pass:'Skill39$$'