ACME 协议客户端(RFC 8555),
支持 Let's Encrypt 等 CA 自动申请 SSL 证书
创建 ACME 客户端,
可选参数 @directoryUrl 指定目录 URL,默认 Let's Encrypt 生产环境
@directoryUrl 也可以使用以下短名称代替目录 URL:
"letsencrypt","letsencrypt_test","zerossl","google","google_test"
"letsencrypt_test" 等 test 后缀的 URL 用于测试环境。
注意开发测试时应当指定 "letsencrypt_test" 等测试 URL(宽松的测试与请求数限制)。
其他参数用于创建 web.acme.httpClient 客户端(与 web.rest.client 构造参数用法相同)
关闭客户端,释放资源
ACME 目录对象,包含各端点 URL
当前使用的 ACME 目录 URL
下载证书,返回 PEM 格式证书链
提交 CSR 完成订单,
@csrDer 指定 DER 格式的 CSR 数据
仅查找已有账户,不创建新账户,
成功返回账户信息,账户不存在返回错误
生成新的 RSA 账户密钥,
可选参数 @bits 指定位数,默认 2048,
返回 crypt.rsa 对象
获取账户 URL
获取授权详情,
包含挑战信息(http-01、dns-01 等)
计算 DNS-01 挑战的 TXT 记录值,
需添加到 _acme-challenge.{domain} 记录
计算 HTTP-01 挑战的 keyAuthorization 值,
需放置在 /.well-known/acme-challenge/{token} 路径
获取订单当前状态
ACME HTTP 客户端,web.acme.httpClient 对象(继承自 web.rest.client)。
如果 PEM 文件存在则自文件加载账户密钥,
否则创建密钥并保存到 PEM 文件。
成功返回 true
从 PEM 文件加载账户密钥,
成功返回 true
创建证书订单,
@domains 指定域名或 公网 IP(字符串或数组),
返回订单对象,包含 authorizations 和 finalize URL
轮询等待状态变化,
@targetStatus 指定目标状态(如 "valid"、"ready"),
@maxAttempts 最大尝试次数,默认 30,
@interval 间隔毫秒数,默认 2000
注册新账户或获取已有账
email 可选,指定联系邮箱(字符串或数组),
@termsAgreed 是否同意服务条款,默认 true,
成功返回账户信息对象
email: 联系邮箱
@termsAgreed: 同意条款
@kid: (可选) EAB Key Identifier
@hmac: (可选) EAB HMAC Key (Base64Url格式),
Google/ZeroSSL 等商业或私有 CA 通常需要 EAB。
通知服务器已准备好挑战验证,
服务器将开始验证
吊销证书,
@certPem 为 PEM 格式证书,
@reason 为吊销原因代码,默认 0
保存账户密钥到 PEM 文件
设置账户密钥(crypt.rsa 对象)
设置账户 URL,用于恢复已有账户会话