nginx自签署CA证书

概览:

生成私钥

1
openssl genrsa -out CA.key 4096

生成证书

1
2
3
openssl req \
-subj "/C=CN/ST=SiChuan/L=ChengDu/O=www.mardan.wiki/OU=Personal/CN=guzal.cc" \
-x509 -new -nodes -sha512 -days 3650 -key CA.key -out CA.crt

生成私钥

1
openssl genrsa -out guzal.cc.key 4096

生成证书签名请求文件(CSR)

1
2
3
openssl req -sha512 -new \
-subj "/C=CN/ST=SiChuan/L=ChengDu/O=www.mardan.wiki/OU=Personal/CN=guzal.cc" \
-key guzal.cc.key -out guzal.cc.csr

编写 x509 v3 扩展文件

1
2
3
4
5
6
7
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage=digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName=@alt_names

[alt_names]
DNS.1=*.guzal.cc

使用 v3.ext 生成域名证书

1
2
openssl x509 -req -sha512 -days 3650 -extfile ../v3.ext \
-CA CA.crt -CAkey CA.key -CAcreateserial -in guzal.cc.csr -out guzal.cc.crt