账户与配置
xrtAcmeAccountConfigInit 配置
账户配置清零初始化;CA 预设常量 XACME_DIRECTORY_LE / LE_STAGING / ZEROSSL / GOOGLE / BUYPASS 直接赋给 sDirectoryUrl。
签发流程(5 个入口)
xacmeClientInit / Unit / AccountPem 生命周期
建客户端:解析 directory、注册或复用账户(kid 来自 Location);AccountPem 导出账户密钥供持久化。失败设置线程错误(域 "xrt.acme.flow")。
xacmeClientIssue 签发
一次 dns-01 签发:域名可含通配符;返回证书链 PEM(xrtFree 释放)。provider 的 Add 在挑战前调用、Remove 结束后尽力调用。
xacmeClientIssueStored 一站式续签
组合 store:剩余寿命 ≥ iRenewalDays 直接返回现有链(*pbRenewed=false);否则签发、落盘(fullchain + CA 溯源)并返回新链。
DNS provider
xrtAcmeDnsProviderValidate / Count / Id 接口
provider 结构校验、内建注册表枚举(当前仅 "ali");自定义厂商直接填结构(id/Add/Remove/可选 Propagate)。
xrtAcmeDnsAliConfigInit / xrtAcmeDnsAli / ProviderUnit 阿里云
阿里云 alidns provider 构造(ACS3-HMAC-SHA256 V3 签名)与回收;密钥走环境/Custom。
库自带 TXT 传播探测(UDP 查权威 NS),确认记录可见后才通知 CA 验证。
存储与续期
xrtAcmeStoreSaveAccount / LoadAccount 账户
账户密钥落盘/回读(PKCS#8 PEM)——Init 传入复用,免重复注册。
xrtAcmeStoreSaveCert / LoadCert / LoadCertCa 证书
全链与 CA 溯源分别存取,原子写入。
xrtAcmeStoreNeedRenew 续期判断
按剩余天数判断是否需要续签(x509 解析,不依赖外部进程)。