惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
S
SegmentFault 最新的问题
腾讯CDC
博客园 - 叶小钗
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Jina AI
Jina AI
A
About on SuperTechFans
博客园 - 司徒正美
C
Check Point Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
N
Netflix TechBlog - Medium
T
Tenable Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
小众软件
小众软件
Spread Privacy
Spread Privacy
阮一峰的网络日志
阮一峰的网络日志
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
K
Kaspersky official blog
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
D
DataBreaches.Net
A
Arctic Wolf
I
InfoQ
量子位
IT之家
IT之家
Security Latest
Security Latest
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google DeepMind News
Google DeepMind News
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
Google Developers Blog
P
Proofpoint News Feed
P
Privacy International News Feed
T
Threatpost
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
Martin Fowler
Martin Fowler
C
Cyber Attacks, Cyber Crime and Cyber Security
PCI Perspectives
PCI Perspectives
F
Full Disclosure

汤阴豫唐网络

豫唐网络「百搭用户中心系统」喜获国家版权局计算机软件著作权登记证书 - 豫唐新闻 - 汤阴豫唐网络 zblog主题助手 - 版本更新说明 - V1.1.0 - 更新日志 首页模块显示 - zblog主题助手 - zblog 豫唐网络自主研发《豫唐智能教案在线生成平台》成功获得国家软件著作权认证 - 豫唐新闻 - 汤阴豫唐网络 关于豫唐官网升级至PHP 8.5的公告 - 豫唐新闻 - 汤阴豫唐网络 zblog主题助手 - zblog作品展示 - 汤阴豫唐网络 豫唐AI发文 - 版本更新说明 - V1.0.7 - 更新日志 豫唐ai发文 - zblog作品展示 - 汤阴豫唐网络 豫唐智能教案在线生成平台 - 版本更新说明 - V1.0.1 - 更新日志 豫唐·星空钢琴 - 版本更新说明 - V1.0.3 - 更新日志 恭喜!汤阴豫唐官网百度收录配额大幅提升 - 豫唐新闻 - 汤阴豫唐网络 百度搜索资源小工具 - zblog作品展示 - 汤阴豫唐网络 安幼数媒论文助手 - 版本更新说明 - V1.0.1 - 更新日志 豫唐·星空钢琴正式发布 — 让音乐梦想触手可及 - 豫唐新闻 汤阴豫唐网络加入百度百科热词团队,以认真践初心 - 豫唐新闻 - 汤阴豫唐网络
本地自定义域名自签证书生成工具 - 技术笔记 - 汤阴豫唐网络
2026-07-24 · via 汤阴豫唐网络

本地自定义域名自签证书生成工具

在本地开发环境中,为自定义域名(如 zblog.cm、docs.cm)配置 HTTPS 是一个常见需求。虽然 Let's Encrypt 提供免费的 SSL 证书,但对于仅在本地使用的域名,申请和维护证书显得过于繁琐。

项目git地址:gitee地址

传统的解决方案存在以下问题:

  • OpenSSL 命令行复杂:需要记住多个参数和命令组合

  • Windows 环境兼容性:Windows 系统默认不自带 OpenSSL,安装配置繁琐

  • 证书格式不统一:Nginx 需要 PEM 格式,系统安装需要 CER 格式,手动转换容易出错

  • 权限问题:使用 PowerShell 生成证书时常遇到权限不足的问题

解决的问题

本工具旨在解决以下痛点:

  • 一键生成多格式证书:一次运行即可生成 Nginx 所需的 PEM 证书、私钥文件,以及系统安装所需的 CER 证书

  • 跨平台兼容性:基于 Python 实现,Windows、macOS、Linux 均可运行

  • 无需额外依赖配置:仅需安装 cryptography 库,无需配置 OpenSSL 环境

  • 简化证书安装流程:自动生成 CER 格式证书,双击即可导入系统

  • 灵活配置:支持自定义域名,证书有效期长达 10 年

解决方案

技术实现

  • 本工具使用 Python 的 cryptography 库实现证书生成,核心流程如下:

  • 生成 RSA 密钥对:使用 2048 位密钥长度,符合安全标准

  • 构建证书请求:设置证书主题信息(国家、省份、城市、组织、域名)

  • 自签证书:使用 SHA-256 算法签名,有效期 10 年

  • 导出多格式文件:

    • PEM 格式证书({domain}.pem):用于 Nginx SSL 配置

    • PEM 格式私钥({domain}.key):用于 Nginx SSL 配置

    • DER 格式证书({domain}.cer):用于安装到系统受信任根证书颁发机构

使用方法

环境要求

  • Python 3.x

  • cryptography 库

安装依赖

pip install cryptography

生成证书

python gen-cert.py

自定义域名

修改脚本第 9 行的 cert_name 变量:

cert_name = "your-domain.com"

生成的文件

运行脚本后,会在 当前目录/{domain}/ 目录下生成以下文件:

文件格式用途

{domain}.pemPEMNginx SSL 证书配置

{domain}.keyPEMNginx SSL 私钥配置

{domain}.cerDER安装到系统受信任根证书颁发机构

Nginx 配置示例

server {
    listen 443 ssl;
    server_name zblog.cm;
    root D:/2026/EServer-data/www/zblog.cm;
    
    ssl_certificate      D:/2026/EServer-data/ssl/zblog.cm/zblog.cm.pem;
    ssl_certificate_key  D:/2026/EServer-data/ssl/zblog.cm/zblog.cm.key;
    
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    
    # 其他配置...
}

安装证书到系统

  • 双击 {domain}.cer 文件

  • 点击「安装证书」

  • 选择「本地计算机」,点击「下一步」

  • 选择「将所有的证书放入下列存储」

  • 点击「浏览」,选择「受信任的根证书颁发机构」

  • 点击「确定」→「下一步」→「完成」

  • 重启浏览器后生效

优势

  • 简化流程:从复杂的命令行操作简化为一条 Python 命令

  • 统一管理:证书生成、格式转换、安装指导一体化

  • 安全可靠:使用标准的 RSA + SHA-256 加密算法

  • 长期有效:证书有效期长达 10 年,无需频繁更新

注意事项

  • 本工具生成的是自签证书,仅适用于本地开发和测试环境

  • 自签证书不被公共 CA 机构信任,请勿在生产环境中使用

  • 生成的私钥文件请妥善保管,不要泄露给他人