OpenSSL 生成根证书、中间证书和网站证书
OpenSSL 生成根证书、中间证书和网站证书
- 一、生成根证书(ChinaRootCA)
- 二、生成中间 CA(GuangDongCA)
- 三、生成网站证书(gdzwfw)
一、生成根证书(ChinaRootCA)
-
创建私钥:
openssl genrsa -out ChinaRootCA.key 2048
-
创建根证书的证书签名请求(CSR):
openssl req -new -key ChinaRootCA.key -out ChinaRootCA.csr
在这个过程中,需要根据提示输入国家、地区、组织名称等信息,例如国家填“CN”,地区填“Beijing”等,组织名称可自定义为“China Root CA Organization”等。
-
自签名生成根证书:
openssl x509 -req -in ChinaRootCA.csr -signkey ChinaRootCA.key -out ChinaRootCA.crt -days 3650
二、生成中间 CA(GuangDongCA)
-
创建私钥:
openssl genrsa -out GuangDongCA.key 2048
-
创建证书签名请求:
openssl req -new -key GuangDongCA.key -out GuangDongCA.csr
同样输入相应信息,组织名称可填“Guangdong Intermediate CA Organization”等。
-
使用根证书签名生成中间 CA 证书:
openssl x509 -req -in GuangDongCA.csr -CA ChinaRootCA.crt -CAkey ChinaRootCA.key -CAcreateserial -out GuangDongCA.crt -days 3650
三、生成网站证书(gdzwfw)
-
创建私钥:
openssl genrsa -out gdzwfw.key 2048
-
创建证书签名请求并添加域名信息:
openssl req -new -key gdzwfw.key -out gdzwfw.csr -subj "/CN=www.gdzwfw.gov.cn" -reqexts v3_req
在创建请求时,可以添加
-reqexts v3_req
参数来启用扩展,以便后续添加多个域名。 -
创建配置文件(例如 gdzwfw.cnf)用于指定多个域名:
[req] req_extensions = v3_req [v3_req] subjectAltName = @alt_names [alt_names] DNS.1 = www.gdzwfw.gov.cn DNS.2 = www.gd.gov.cn DNS.3 = tyrz.gd.gov.cn
-
使用中间 CA 签名生成网站证书:
openssl x509 -req -in gdzwfw.csr -CA GuangDongCA.crt -CAkey GuangDongCA.key -CAcreateserial -out gdzwfw.crt -days 365 -extfile gdzwfw.cnf