本文档适用于个人网站内网域名申请测试
1. 创建Root CA
1.1 创建目录
mkdir -p ~/internal-ca
cd ~/internal-ca
1.2 生成 Root CA 私钥
openssl genrsa -out rootCA.key 4096
生成"rootCA.key"(十分重要)
1.3 生成 Root CA 根证书
openssl req -x509 -new -nodes -key rootCA.key \
-sha256 -days 3650 \
-out rootCA.crt
信息:
Country Name: CN
State or Province Name: Jiangsu
Locality Name: Wuxi
Organization Name: Home Internal CA
Organizational Unit Name: section
Common Name: Internal Root CA
Email Address: 邮箱
生成"rootCA.crt"
2. 签发证书
假设创建网址为:xxx.website.test
IP为114.514.19.810
2.1 创建证书扩展配置文件
nano xxx.website.test.ext
写入
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = xxx.website.test
IP.1 = 114.514.19.810
如果想一个证书支持多个域名可以:
[alt_names]
DNS.1 = xxx1.website1.test1
DNS.2 = xxx2.website2.test2
DNS.3 = xxx3.website3.test3
IP.1 = 114.514.19.810
2.2 生成站点私钥
openssl genrsa -out xxx.website.test.key 2048
生成"xxx.website.test.key"
2.3 生成证书请求 CSR
openssl req -new -key xxx.website.test.key -out xxx.website.test.csr
Common Name项填:
xxx.website.test
如果出现:
A challenge password []:
直接回车
2.4 用 Root CA 签发站点证书
openssl x509 -req -in xxx.website.test.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out xxx.website.test.crt -days 3650 -sha256 -extfile xxx.website.test.ext
生成:
xxx.website.test.crt
xxx.website.test.key
crt为证书、key为私钥