2025-09-06 09:50:47 +08:00
2025-06-15 10:08:25 +08:00
2025-06-14 19:37:51 +08:00
2025-06-15 09:23:42 +08:00
2025-06-15 09:27:35 +08:00
2025-06-15 08:51:36 +08:00
2025-06-16 12:53:16 +08:00
2025-06-14 19:22:42 +08:00
2025-06-14 19:22:42 +08:00
2025-09-06 09:50:47 +08:00
2025-09-06 09:50:47 +08:00
2025-06-15 09:54:09 +08:00
2025-06-15 10:13:19 +08:00
2025-06-14 19:25:22 +08:00

自签名证书管理系统

Python Version Flask

qilin SSL Logo

一款易用的自签证书管理系统

一个基于Flask的Web应用程序用于管理自签名证书颁发机构(CA)和证书。 全部代码由DeepSeek生成

功能特性

  • 证书颁发机构管理

    • 创建和管理自签名CA
    • 查看CA详情及相关证书
    • 生成证书吊销列表(CRL)
    • 导出CA捆绑包(证书+私钥)
  • 证书管理

    • 颁发由您的CA签名的证书
    • 管理主题备用名称(SAN)
    • 吊销和续订证书
    • 支持多种格式导出(PKCS#12, PEM, CRT+KEY)
  • 用户管理

    • 带邮箱验证的用户注册
    • 基于角色的访问控制(管理员/普通用户)
    • 密码策略强制执行

系统截图

首页 CA详情页 证书详情页

demo测试账号

https://ssl.liuyan.wang admin/123456

系统要求

  • Python 3.7+
  • MySQL/MariaDB数据库
  • OpenSSL
  • 所需Python包(见requirements.txt)

安装指南

  1. 克隆仓库:

    git clone https://github.com/yourusername/certificate-management-system.git
    cd certificate-management-system
    
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate  # Windows系统: venv\Scripts\activate
    
  3. 安装依赖:

    pip install -r requirements.txt
    
  4. 基于.env.example创建.env文件并配置:

    DB_HOST=localhost                         # 数据库服务器IP地址或域名
    DB_PORT=3306                              # 数据库端口MySQL默认3306
    DB_NAME=cert_management                   # 数据库名称
    DB_USER=root                              # 数据库用户名
    DB_PASSWORD=yourpassword                  # 数据库密码(生产环境建议使用强密码)
    SECRET_KEY=your-secret-key-here           # Flask应用加密密钥生产环境必须修改建议使用32位随机字符串
    MAIL_SERVER=smtp.example.com              # SMTP服务器地址QQ邮箱为smtp.qq.com
    MAIL_PORT=587                             # SMTP端口QQ邮箱SSL端口为465
    MAIL_USE_TLS=True                         # 是否使用SSL加密QQ邮箱必须开启
    MAIL_USERNAME=your-email@example.com      # 发件邮箱地址
    MAIL_PASSWORD=your-email-password         # SMTP授权码非邮箱密码
    APP_DOMAIN=localhost                      # 应用对外域名(用于邮件链接生成)
    APP_PROTOCOL=https                        # 应用协议http或https
    

运行应用

python app.py

默认情况下,应用将在http://localhost:5000可用。

使用说明

  1. 注册新账户(若注册开放)或直接登录
  2. 管理员可:
    • 创建和管理CA
    • 颁发证书
    • 查看系统所有证书
  3. 普通用户可:
    • 使用自己创建的CA颁发证书
    • 管理自己的证书

API接口

  • /: 仪表盘
  • /login, /logout: 认证相关
  • /register: 用户注册
  • /cas: CA管理
  • /certificates: 证书管理
  • /download/<filename>: 文件下载

安全注意事项

  • 请始终在安全环境中运行本系统
  • 妥善保管您的.env文件
  • 定期备份证书存储和数据库
  • 生产环境建议使用HTTPS

开源许可

MIT License

贡献指南

欢迎提交Pull Request。重大改动请先创建Issue讨论。

技术支持

如有问题请提交GitHub仓库Issue。

Description
一个自签证书管理工具
https://ssl.liuyan.wang/
Readme MIT 1.2 MiB
v7.1.0 Latest
2025-06-15 08:48:46 +08:00
Languages
HTML 51.6%
Python 48%
Dockerfile 0.4%