內部 CA 證書管理
生成 CA 證書
# 生成 KEY
openssl genrsa -out ca.key 4096
# 生成證書
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=省/L=市/O=組織/OU=組織單位/CN=常用名(或域名)" \
-key ca.key \
-out ca.crt
導入 CA 證書
內部人員需要把該 ca.crt 證書添加到受信任的根證書中,這樣通過改 CA 證書生成的其他證書也會被信任。
Windows
Windows 運行輸入 certmgr.msc 然後添加。操作如下圖所示:
Linux 導入 CA 證書
# 如果沒有 ca-certificates 就安裝
yum install -y ca-certificates
# 把 ca.crt 證書放到下面目錄
# /etc/pki/ca-trust/source/anchors
# 執行下面命令更新證書
update-ca-trust
# 如果根證書是以 *.pem 結尾,需要轉換成crt,然後再執行上述步驟。命令如下:
openssl x509 -in ca.pem -inform PEM -out ca.crt
使用 CA 證書生成其他證書
例如生成泛域名證書:
# 生成 KEY
openssl genrsa -out *.erp.com.key 4096
# 生成證書請求
openssl req -sha512 -new \
-subj "/C=CN/ST=省/L=市/O=組織/OU=組織單位/CN=*.erp.com" \
-key *.erp.com.key \
-out *.erp.com.csr
# 設置證書信息,主要是泛域名時,可以指定額外的 x.com
cat > erp.com.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=*.erp.com
DNS.2=erp.com
EOF
# 使用 CA 證書生成具體的證書
openssl x509 -req -sha512 -days 3650 \
-extfile erp.com.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in *.erp.com.csr \
-out *.erp.com.crt
操作過程中生成的下面兩個關鍵的文件:
- 私鑰:
*.erp.com.key
- 公鑰:
*.erp.com.crt
網站配置使用上面兩個文件即可。