From 179400f9ed5c279f53e49bfcf6e628dfcb6a55a5 Mon Sep 17 00:00:00 2001 From: wzj <244142824@qq.com> Date: Sun, 15 Jun 2025 09:27:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=BA=94=E7=94=A8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 2 +- README.md | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index df22073..af5fca9 100644 --- a/.env.example +++ b/.env.example @@ -12,7 +12,7 @@ DB_PORT=3306 # 数据库端口(MySQL默认3306) # [应用配置] APP_HOST=0.0.0.0 # 应用监听地址(0.0.0.0表示允许所有IP访问) -APP_PORT=9875 # 应用监听端口 +APP_PORT=5000 # 应用监听端口 DEBUG=False # 调试模式(生产环境必须关闭) APP_DOMAIN=localhost # 应用对外域名(用于邮件链接生成) APP_PROTOCOL=http # 应用协议(http或https) diff --git a/README.md b/README.md index e69de29..8d2018c 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,113 @@ +# 自签名证书管理系统 + +一个基于Flask的Web应用程序,用于管理自签名证书颁发机构(CA)和证书。 +**全部代码由DeepSeek生成** + +## 功能特性 + +- **证书颁发机构管理** + - 创建和管理自签名CA + - 查看CA详情及相关证书 + - 生成证书吊销列表(CRL) + - 导出CA捆绑包(证书+私钥) + +- **证书管理** + - 颁发由您的CA签名的证书 + - 管理主题备用名称(SAN) + - 吊销和续订证书 + - 支持多种格式导出(PKCS#12, PEM, CRT+KEY) + +- **用户管理** + - 带邮箱验证的用户注册 + - 基于角色的访问控制(管理员/普通用户) + - 密码策略强制执行 + +## 系统要求 + +- Python 3.7+ +- MySQL/MariaDB数据库 +- OpenSSL +- 所需Python包(见`requirements.txt`) + +## 安装指南 + +1. 克隆仓库: + ```bash + git clone https://github.com/yourusername/certificate-management-system.git + cd certificate-management-system + ``` + +2. 创建并激活虚拟环境: + ```bash + python -m venv venv + source venv/bin/activate # Windows系统: venv\Scripts\activate + ``` + +3. 安装依赖: + ```bash + pip install -r requirements.txt + ``` + +4. 基于`.env.example`创建`.env`文件并配置: + ```ini + 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) + ``` + +## 运行应用 + +```bash +python app.py +``` + +默认情况下,应用将在`http://localhost:5000`可用。 + +## 使用说明 + +1. 注册新账户(若注册开放)或直接登录 +2. 管理员可: + - 创建和管理CA + - 颁发证书 + - 查看系统所有证书 +3. 普通用户可: + - 使用自己创建的CA颁发证书 + - 管理自己的证书 + +## API接口 + +- `/`: 仪表盘 +- `/login`, `/logout`: 认证相关 +- `/register`: 用户注册 +- `/cas`: CA管理 +- `/certificates`: 证书管理 +- `/download/`: 文件下载 + +## 安全注意事项 + +- 请始终在安全环境中运行本系统 +- 妥善保管您的`.env`文件 +- 定期备份证书存储和数据库 +- 生产环境建议使用HTTPS + +## 开源许可 + +[MIT License](LICENSE) + +## 贡献指南 + +欢迎提交Pull Request。重大改动请先创建Issue讨论。 + +## 技术支持 + +如有问题请提交GitHub仓库Issue。 \ No newline at end of file