一鍵自簽本地 TLSv3 多域名 SAN 域名證書工具 HTTPS(最新版 Chrome 瀏覽器策略測試通過)
一鍵自動生成本地自簽名SAN域名證書工具
- 原生OpenSSL生成自簽名SAN CA域名(V3簽名),在Linux、MacOS系統下籤發測試通過。
用於一鍵快速生成開發和測試場景證書,內部平台授權和私有DevOps平台搭建。 - 截至最新版本 Chrome 89.0.4389.90 (x86_64) 版本測試通過。
- 作者: Jack Liu ljq@Github
- 聲明:
- 本腳本工具僅供開發人員搭建開發和測試環境,禁止用於其他目的!
- 瀏覽器安全策略變更(截止日期:2021-03-11):
- 1.Chrome 58的安全改變:普通名稱支援被刪除。使用SAN。
- 2.Chrome證書安全策略被限制為最多398天,超過標記不安全。
檢查開啟擴展支援模組:v3_req:
(簽發完畢後建議恢復關閉)
req_extensions = v3_req # The extensions to add to a certificate request
custom.cnf:
# [嚴正聲明]
# 該腳本僅用於開發人員的本地Dev開發和Test測試環境測試,禁止用於其他用途!
[CNF]
# 通配符域名
DOMAIN_NAME="*.wdft.com"
# 瀏覽器安全策略更改(截至日期:2021-03-11):
# 1.Chrome 58版本開始的安全改變:普通名稱支援被刪除。使用SAN標記替代。
# 2.Chrome證書被限制為最多398天。
# 有效的398天(天數範圍必須小於或等於398天)
VALID_DAYS=398
# TLS文件生成默認當前路徑:
SAN_TLS_PATH="tls-ca"
# Default SUBJECT info: SUBJECT=/C=/ST=/L=/O=/OU=/CN=/emailAddress=
# C =>國家名稱(2位首字母簡寫)
# ST =>狀態名
# L =>城市名稱
# O =>組織名稱
# OU =>組織單位
SUBJECT.C=CN
SUBJECT.ST=Shanghai
SUBJECT.L=Shanghai
SUBJECT.O=Localhost
SUBJECT.OU=IT-DEV
CA生成文件目錄結構示例:
主域名wdft.com為例:
├── custom.cnf # 腳本自定義配置文件
├── tls-ca # 自簽證書生成目錄
│ ├── vhost_wdft.com.conf # Nginx vhost demo
│ ├── wdft.com_ca.crt # 客戶端根證書(導入或安裝,添加信任)
│ ├── wdft.com.crt # 伺服器密鑰對(.crt)
│ ├── wdft.com.key # 伺服器密鑰對私鑰(.key)
│ └── wdft.com.pem # 伺服器密鑰對(.pem)
│
├── tls-ca-process # 流程文件,用於備份和診斷
│ └── 2021-03-13
│ ├── ca.crt
│ ├── ca.key
│ ├── server.crt
│ ├── server.csr
│ └── server.key
│
├── gen-tlsv3-san-ca.sh
└── san.cnf # SAN: 此文件首次自動生成
客戶端:導入並安裝根CA文件
- 下載 [主域名]_ca.crt文件,將crt文件導入並安裝
- 客戶端證書添加信任。
項目地址: