ACME Tiny 使用与安装指南
项目概述
ACME Tiny 是一个极简主义的脚本,用于通过 Let's Encrypt 的 ACME 协议自动化 SSL 证书的获取与续签过程。它特别设计得小巧且易于审计,适合集成到更复杂的自动化流程中,如 Certbot 之类的自动化工具可能不适合手动或精简的证书管理场景时。
项目的目录结构及介绍
acme-tiny/
|-- acme_tiny.py # 主要脚本,负责处理证书签名请求
|-- README.md # 项目说明文档,包含了基本的使用说明
|-- requirements.txt # Python 依赖列表,但实际上 acme_tiny.py 设计为独立运行,无需额外安装包
|-- tests/ # 测试目录,存放着用于测试 acme_tiny 功能的脚本和数据
|-- cert.pem # 示例证书文件
|-- chain.pem # 示例证书链文件
|-- key.pem # 私钥示例文件
|-- test_acme_tiny.py # 自动化测试脚本
项目的启动文件介绍
acme_tiny.py
核心功能:这个Python脚本是整个项目的灵魂,它接收DER编码的CSR(证书签名请求)以及账户密钥作为输入,通过ACME协议与Let's Encrypt服务器交互,自动完成证书的申请或续订流程。尽管名为“tiny”,它实现了与Let's Encrypt服务器通信的关键逻辑,确保遵循ACME协议来安全地获得SSL证书。
如何启动:在实际使用中,通常不会直接“启动”acme_tiny.py,而是通过shell命令调用来执行证书签署的过程。例如:
python acme_tiny.py --account-key account.key --csr csr.der --acme-dir /path/to/acme挑战目录 > signed.crt
项目的配置文件介绍
ACME Tiny 实际上并不直接使用传统意义上的配置文件。它的配置和操作参数是通过命令行参数提供的。主要依赖于以下三个关键文件/参数进行工作:
- --account-key: Let's Encrypt 账户的私钥路径。
- --csr: 待签名的证书签名请求(CSR)的路径,以DER格式存储。
- --acme-dir: 如果需要执行HTTP-01或DNS-01验证,则指定Let's Encrypt用于验证的本地目录路径。
尽管没有直接的配置文件,但用户需根据每次证书申请的具体需求准备这些必要的输入文件,并在命令行调用时正确指定它们的位置。
请注意,在生产环境中正确管理和保护这些密钥以及敏感信息至关重要,建议通过非交互式方式自动化这一流程并严格控制访问权限。