V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jacklau
V2EX  ›  开源软件

一键自签本地 TLSv3 多域名 SAN 域名证书工具 HTTPS(最新版 Chrome 浏览器策略测试通过)

  •  
  •   jacklau · 2021-03-16 17:07:24 +08:00 · 1222 次点击
    这是一个创建于 1334 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一键自动生成本地自签名 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 天,超过标记不安全。

    English

    检查开启扩展支持模块: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 文件导入并安装
    • 客户端证书添加信任。

    项目地址:

    gen-tlsv3-san-ca@Github

    The test case

    tls-01.png

    tls-02.png

    tls-03.png

    tls-04.png

    Github Repository: https://github.com/ljq/gen-tlsv3-san-ca

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2638 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 03:53 · PVG 11:53 · LAX 19:53 · JFK 22:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.