CA证书生成h2
首先创建CA配置文件:
cat > ca.conf << EOF[ req ]default_bits = 2048default_md = sha256prompt = noencrypt_key = nodistinguished_name = dn
[ dn ]C = CNST = BeijingL = BeijingO = DevOU = Dev Root CACN = Dev Root CAemailAddress = admin@domain.devEOF
生成CA证书:
# CA机构名称# 生成CA私钥和证书openssl ecparam -out ca.key -name prime256v1 -genkeyopenssl req -new -sha256 -key ca.key -out ca.csr -config ca.confopenssl x509 -req -sha256 -days 3650 -in ca.csr -signkey ca.key -out ca.crt
签发SAN证书h2
创建证书配置文件:
cat > domain.conf << EOF[ req ]default_bits = 2048default_md = sha256prompt = noencrypt_key = nodistinguished_name = dnreq_extensions = v3_req
[ dn ]C = CNST = BeijingL = BeijingO = OrganizationOU = Dev TeamCN = domain.devemailAddress = admin@domain.dev
[ v3_req ]basicConstraints = CA:FALSEkeyUsage = nonRepudiation, digitalSignature, keyEnciphermentsubjectAltName = @alt_names
[alt_names]DNS.1 = domain.devDNS.2 = *.domain.devEOF
签发证书:
# 生成域名私钥和CSRopenssl genrsa -out domain.dev.key 2048openssl req -new -nodes -key domain.dev.key -out domain.dev.csr -config domain.conf
# 使用CA签发证书openssl x509 -req -in domain.dev.csr \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -out domain.dev.crt -days 3650 -sha256 \ -extensions v3_req -extfile domain.conf
# 验证证书openssl x509 -in domain.dev.crt -text -noout
补全完整的证书链
cat domain.dev.crt ca.crt > domain.dev.fullchain.crt
介绍每个文件的作用
- ca.conf: CA配置文件
- ca.key: CA私钥
- ca.crt: CA证书
- domain.conf: 域名配置文件
- domain.dev.key: 域名私钥
- domain.dev.csr: 域名CSR
- domain.dev.crt: 域名证书
- domain.dev.fullchain.crt: 完整证书链
- domain.dev.key: 域名私钥