一键自动生成本地自签名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

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

  1. 自签https证书2(适配新版chrome,不会显示“不安全”)

    上一篇博文中介绍了自签https的方法,但是在新版的chrome中会出现这么一个问题:自签ca可以识别,但是证书仍然会判断不安全.为了解决这个问题,博主特地又查了好多资料,终于找到了解决方案. 当然, ...

  2. Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging

    通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的“本地消息主机(native messaging host)”,Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应 ...

  3. Chrome浏览器扩展开发系列之十四:本地消息机制Native messagin

    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报  分类: PPAPI(27)  通过将浏览器 ...

  4. Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码

    题记: 11月14日早晨8点,人人网发布公告,宣布人人公司将人人网社交平台业务相关资产以2000万美元的现金加4000万美元的股票对价出售予北京多牛传媒,自此,人人公司将专注于境内的二手车业务和在美国 ...

  5. GeoTrust 企业(OV)型 增强版(EV) 多域名(SAN/UC) SSL证书

    GeoTrust 企业(OV)型 增强版(EV) 多域名(SAN/UC)SSL证书(GeoTrust True BusinessID With EV Multi-Domain(SAN/UC) SSL ...

  6. GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书

     GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书(GeoTrust True BusinessID With Multi-Domain(SAN/UC) ),支持多域名,属于企业 ...

  7. GeoTrust 企业(OV)型 多域名(SAN/UC)版

     GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书(GeoTrust True BusinessID With Multi-Domain(SAN/UC) ),支持多域名,属于企业 ...

  8. spring boot / cloud (五) 自签SSL证书以及HTTPS

    spring boot / cloud (五) 自签SSL证书以及HTTPS 前言 什么是HTTPS? HTTPS(全称:Hyper Text Transfer Protocol over Secur ...

  9. 微信小程序真机预览跟本地不同的问题。原文地址:https://blog.csdn.net/qq_27187991/article/details/69664247/

    微信小程序中出现最多的一个问题,就是真机跟本地不同:我简单列举一些我发现的原因,给大家参考,大家也可以把自己发现的东西回复给我,给我参考: 本地看不到数据,就先让本地能看到数据,再看本帖....特别提 ...

随机推荐

  1. JDK下载安装与卸载详解

    JDK下载安装 1. 下载: 推荐版本:JDK 8 (7.8目前广泛应用) 官网地址:https://www.oracle.com/cn/java/technologies/javase/javase ...

  2. npm version ^ meaning

    npm version ^ meaning ^ 更新版 https://docs.npmjs.com/cli/v6/commands/npm-version https://github.com/ge ...

  3. npm ci All In One

    npm ci All In One npm 性能优化 npm ci 使用干净的面板安装项目 https://docs.npmjs.com/cli/v6/commands/npm-ci # npm cl ...

  4. leetcode & vscode

    leetcode & vscode vscode-leetcode https://marketplace.visualstudio.com/items?itemName=LeetCode.v ...

  5. 2021,狗狗币暴涨,VAST更加疯狂!

    2021年的币圈,多多少少出乎人的意料.很多币圈玩家们看好比特币,比特币却在达到4万美金的巅峰之后,极速下滑.很多玩家们看好以太坊,以太坊的手续费却出现了飙涨,让众多的中小散户们再次退却.而前几年已经 ...

  6. django学习-20.python3中的特殊方法【__str__】的作用

    目录结构 1.前言 2.[__str__]特殊方法的具体使用 2.1.当使用print打印一个类被实例化后生成的对象的时候,若类里有定义了[__str__]特殊方法,是打印出这样的数据:[__str_ ...

  7. Java HashMap源码分析(含散列表、红黑树、扰动函数等重点问题分析)

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  8. 一周精彩内容分享(第 3 期):开工大吉的 B 面

    这里记录过去一周,我看到的值得分享的东西. 一方面是整理记录一下自己一周的学习,另一方面也是期待自己有更多的输出,有更多的价值. 周刊开源(Github:wmyskxz/weekly),欢迎提交 is ...

  9. Docker中配置MySQL并实现远程访问

    Docker配置MySQL容器 拉取MySQL镜像 docker pull mysql:5.6 有可能会因为网络问题失败,重复尝试. 创建容器 docker run -d --name selfdef ...

  10. Navicat premium对数据库的结构同步和数据同步功能

    一.在目标数据库新建一个相同的数据库名. 二.工具-->结构同步. 三.填写源数据库和目标数据库. 四.点击比对 五.点击部署 六.点击运行 七.点击关闭.此时源数据库的结构已经同步到目标数据库 ...