# SSLFlux - 自动化SSL证书管理平台
> 基于Java实现的SSL证书全生命周期管理工具,支持Let's Encrypt证书自动化申请与多平台CDN部署
## 🌟 核心特性
- **全自动证书管理**
- 自动申请/续期Let's Encrypt证书(支持HTTP-01/DNS-01验证)
- 智能监控证书有效期(提前30天预警)
- **多云CDN支持**
- 准备实现:阿里云CDN、腾讯云CDN
- 扩展接口:开发者可快速对接新平台
- **企业级安全设计**
- 密钥加密存储
- 证书隔离策略(开发/生产环境分离)
## 🛠️ 技术架构
### 核心组件
```bash
src/main/java/cn/sslflux
├── acmeClient # ACME协议实现
├── cloudAdapters # 云厂商适配器
├── certManager # 证书存储管理
└── scheduler # 定时任务调度
certs 生成的证书会在这个目录下
acme_account.properties 首次运行会生成这个文件,保存acme登录账号
| 组件 |
技术选型 |
| 开发框架 |
Spring Boot 3.0.4 |
| ACME协议实现 |
acme4j 3.5.1 |
| 云服务SDK |
阿里云SDK for Java |
| 安全存储 |
BouncyCastle + JCA |
| 任务调度 |
Quartz Scheduler |
- JDK 17+
- Maven 3.6+
- Let's Encrypt账户
- 克隆仓库
git clone https://github.com/714307168/SSLFlux.git
- 配置云厂商凭证
# application.yml
certjet:
cloud:
aliyun:
access-key: AK_xxxx
secret-key: SK_yyyy
acme:
serverUri: https://acme-v02.api.letsencrypt.org/directory
keystore:
# Windows路径
file: file:D:/sslcret/keystore.p12
# Linux/macOS路径
# file: file:/home/user/sslcret/keystore.p12
password: mySecurePassword123
contact:
email: 12345678@qq.com
- 启动服务
| 参数 |
说明 |
示例值 |
| certjet.domains |
需要管理的域名列表 |
www.liuyg.cn |
| certjet.acme.environment |
ACME环境(staging/prod) |
staging |
| certjet.storage.type |
证书存储方式(local/hsm) |
local |
Apache License 2.0 - 详情见 LICENSE
