mini-acme
描述
mini-acme 是基于 crypery 库的纯 C/CPP 自包含迷你 ACME 客户端项目(RFC 8555)。无外部依赖:所有密码算法均在 crypery 库内从零实现。
客户端通过 ACME 协议获取 X.509 证书:账户注册、JWS 签名请求、HTTP-01 challenge 域名所有权验证、证书签发。支持多域名(SAN)证书:重复 -domain(例如 apex + www)。
使用的模块
- tls - 基础密码层:TLS 1.2/1.3、AES-128-GCM、SHA-256、HMAC/HKDF、RSA-2048、ECDH(P-256、X25519)、X.509 证书(DER/PEM)的生成与解析
- ssl - 内置 TLS 之上的 OpenSSL 兼容 API 层:从 PEM 加载证书与密钥、握手、加密输入输出
- http - HTTP/1.1 服务器:路由、静态服务、WebSocket、SSE、gzip 压缩
- url - HTTP/HTTPS 客户端:URL 解析、请求执行、重定向处理、multipart/form-data
技术
- C/CPP - 实现语言
- crypery - 无外部密码依赖的纯 C 网络协议栈(tls、ssl、http、url 模块)
- 密码学:TLS 1.2/1.3、AES-128-GCM、SHA-256、HMAC/HKDF、RSA-2048、ECDH(P-256、X25519)、X.509、JWS
- MinGW/GCC(Windows)、类 Unix 系统
- 许可证 GNU AGPL v3(Affero GPL)