简要流程
- san.conf配置文件
- make_ca.sh
- make_cert.sh
一、编写配置文件 san.conf
[req]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
encrypt_key = no
default_md = sha256
req_extensions = req_ext
[req_distinguished_name]
commonName_default = '*.sl.gf.com.cn'
commonName_max = 64
organizationName_default = Oray
organizationalUnitName_default = Oray
localityName_default = Shanghai
stateOrProvinceName_default = Shanghai
countryName_default = CN
[req_ext]
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.sl.gf.com.cn
DNS.2 = *.rc.sl.gf.com.cn
DNS.3 = *.p2p.sl.gf.com.cn
二、生成ca根证书 make_ca.sh
#!/bin/bash
#创建秘钥
openssl genrsa -out LocalRootCA.key 2048
#生成证书并自签名
openssl req -sha256 -new -x509 -days 3650 -key LocalRootCA.key -out LocalRootCA.crt -subj "/CN=LocalRootCA"
执行后,会得到 LocalRootCA.crt 这个就是根证书。
三、生成 证书 make_cert.sh
##生成scr
openssl req -sha256 -new -nodes -out myreq.csr -config san.conf -subj "/" -batch
#用根证书签发
openssl x509 -req -sha256 -in myreq.csr -CA LocalRootCA.crt -CAkey LocalRootCA.key -CAcreateserial -days 3560 -out mycom.crt -extfile san.conf -extensions req_ext
执行后,得到证书 mycom.crt。私钥是 privkey.pem
客户端 安装并信任LocalRootCA.crt 到信任的证书颁发机构 之后,就能使证书(https)标绿了。