# ca-project **Repository Path**: code-liangcheng/ca-project ## Basic Information - **Project Name**: ca-project - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-12 - **Last Updated**: 2026-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 车机CA系统 基于SM2国密算法的车机数字证书管理系统,包含服务端和客户端模块。 ## 功能特性 ### 服务端模块 - **接口服务模块**:接收客户端请求,分发处理,返回响应结果 - **证书签发模块**:审核申请信息,使用SM2算法签发数字证书 - **证书管理模块**:证书查询、更新、停用、吊销功能 - **用户管理模块**:管理员账号添加、删除、密码修改 - **日志审计模块**:记录操作日志,支持日志查询与导出 ### 车机客户端模块 - **SM2算法模块**:实现密钥生成、数字签名、签名验签、数据加密解密 - **证书申请模块**:组装设备信息,生成证书请求文件,提交服务端 - **证书存储模块**:本地加密存储证书文件、私钥文件 - **证书验证模块**:验证证书有效期、签名合法性、证书状态 - **证书更新模块**:自动检测证书有效期,提交更新请求 - **通信模块**:与服务端进行加密数据交互 ## 技术栈 - **后端框架**:Flask - **国密算法**:gmssl - **前端**:原生 HTML/CSS/JavaScript - **数据库**:SQLite - **加密存储**:cryptography ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 启动服务端 ```bash cd server python app.py ``` 服务端将在 `http://localhost:5000` 启动。 ### 3. 访问Web管理界面 打开浏览器访问:`http://localhost:5000` 默认账号: - 用户名:`admin` - 密码:`admin123` ### 4. 运行车机客户端 ```bash cd client python main.py ``` ## 项目结构 ``` ca-project/ ├── server/ # 服务端代码 │ ├── api/ # API接口模块 │ │ ├── cert_api.py # 证书相关接口 │ │ ├── user_api.py # 用户相关接口 │ │ └── log_api.py # 日志相关接口 │ ├── services/ # 业务逻辑层 │ │ ├── init_service.py # 初始化服务 │ │ ├── cert_service.py # 证书服务 │ │ ├── user_service.py # 用户服务 │ │ └── log_service.py # 日志服务 │ ├── models/ # 数据模型 │ │ └── database.py # 数据库操作 │ ├── static/ # 静态资源 │ │ ├── css/ │ │ └── js/ │ ├── templates/ # HTML模板 │ └── app.py # 服务端入口 ├── client/ # 车机客户端代码 │ ├── sm2/ # SM2算法模块 │ ├── cert/ # 证书管理模块 │ │ └── storage.py # 证书存储 │ ├── comm/ # 通信模块 │ │ └── communication.py │ └── main.py # 客户端入口 ├── common/ # 公共模块 │ ├── sm2.py # SM2加密类 │ └── cert_utils.py # 证书工具类 ├── requirements.txt # 依赖包 └── README.md ``` ## 默认配置 - 服务端端口:5000 - 默认管理员账号:admin / admin123 - 证书有效期:365天 - 数据库:SQLite(server/data/ca_system.db) ## 注意事项 1. 首次启动服务端会自动创建数据库和默认管理员账号 2. CA根密钥对会在首次启动时自动生成并加密存储 3. 客户端私钥采用AES加密存储 4. 生产环境请修改默认密码和加密密钥 ## 许可证 MIT License