mirror of
https://github.com/certimate-go/certimate.git
synced 2026-04-26 13:15:55 +03:00
[GH-ISSUE #1094] [Bug] Let's Encrypt Staging ARI didn't used #739
Labels
No labels
announcement
backlog
bug
declined
documentation
duplicate
enhancement
good first issue
good first issue
help wanted
invalid
pull-request
question
stale
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/certimate#739
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @xlionjuan on GitHub (Dec 8, 2025).
Original GitHub issue: https://github.com/certimate-go/certimate/issues/1094
Release Version / 软件版本
v0.4.8
Description / 缺陷描述
根據 https://github.com/certimate-go/certimate/pull/426
Certimate 已經實現了 ARI 支持,但我在使用 Let's Encrypt Staging 測試時,發現 log 中沒看到在嘗試獲取 ARI 資訊的訊息,並且又會再去申請一次證書
Steps to reproduce / 复现步骤
其他見 Yaml
對了,Let's Encrypt 不再需要 Email 了,所以請求時可以改用站位符或不送
Logs / 日志
No response
Miscellaneous / 其他
考慮到以後憑證最終會變 47 天,或自願採用 shortlived 6 天憑證,原則上建議續訂邏輯(假設沒 ARI 資訊可用)不應硬編碼(或預設)為剩餘 30 天時執行,應動態地計算憑證效期時長剩 1/3 時續訂
Contribution / 贡献代码
@fudiwei commented on GitHub (Dec 8, 2025):
目前只在申请证书时使用了 ARI 中的
CertID字段,用于突破 CA 的速率限制;但并没有使用SuggestedWindow作为续期间隔,续期间隔仍以用户自行设置的为准。@xlionjuan commented on GitHub (Dec 8, 2025):
SuggestWindow 是不可或缺的一部分,除了讓 CA 可以負載平衡,還可以在遇到大量憑證撤銷事件時儘速通知 ACME Client 使其盡快更新憑證
根據 https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients
必須遵循 SuggestWindow 才可突破速率限制,並且才是正確的實施
請務必考慮進去
另外根據 ISRG 2025 年報:
https://www.abetterinternet.org/annual-reports
還號召所有 ACME Client 開發者將 ARI 加入至 2026 路線圖內

@xlionjuan commented on GitHub (Dec 8, 2025):
需要留意的是,更新憑證不會讓上一個憑證失效,除非是遭遇不幸的大規模撤銷事件
部署作業是可以安排在其他時間進行的,唯獨續約更新的部分建議遵照 ARI 時間,「不建議」強制在固定時間進行
@ZeroClover commented on GitHub (Dec 8, 2025):
https://community.letsencrypt.org/t/rate-limit-for-short-lived-certificates-exactly-set-of-identifiers/243649/2
根据实际测试,只在 New Order 传入 CertID 不会豁免速率限制
@xlionjuan commented on GitHub (Dec 8, 2025):
只想著用
CertID來試圖繞過速率限制是不妥當的,而是要好好的遵循標準規範實施 ACME 中所列出的規範,大家一起當良好的網路公民ARI 的誕生除了在遭遇大規模撤銷事件時可以很好的派上用場,另一好理解且重要的就是幫 CA 做負載平衡,人家都給你免費的 CA 了,而且頒發伺服器還承受那麼大的流量。
@fudiwei commented on GitHub (Dec 9, 2025):
再次说明,目前的 ARI 实现设计如此,这并不是一个 Bug。
如果你不在
SuggestedWindow窗口期内请求签发,自然不会豁免速率限制。但对于目前 90 天有效期的证书而言,默认配置下的续期间隔一定是在
SuggestedWindow范围内的(不考虑被 CA 吊销之类的窗口期会缩短这类极端情况)。用 short-lived 短期证书、并在首次签发后立即再次签发来试图测试 ARI,得不到你想要的结果是理所应当。
一个不精确的比喻:医嘱要求一天两次服药以达到最佳疗效,但某人没有严格遵守每隔 12 小时服一次药的方式,而是选择在每天早、晚餐后服药,而他的作息恰好是 6:00 左右吃早餐、18:00 左右吃晚餐,这也恰好能满足要求。但倘若某天睡懒觉临近中午才起床吃早餐、下午茶吃的太饱而错过晚餐,此时再服药自然会错过最佳疗效,这是理所应当的,而不是反过头来认为“早晚餐后服药”的做法是问题。
如果你希望得到完整的 ARI 支持,你可以开一个新的 Feature Request。但短期内没有计划实施,因为 ARI 要求使用更频繁地客户端检查(即以限制及开销更小的检查流程,来取代限制及开销更大的签发流程),与目前工作流的执行模式并不完全匹配。此外,目前只有 LE 支持 ARI、其余诸如 GTS、ZeroSSL 等 CA 虽然端点中名义上包含
renewalInfo,但其速率限制与此无关(关于速率的部分本身并不是 RFC 规范内的,LE 的做法只是某种副产物),专为特定 CA 提供支持在我看来并不迫切。在有好的实施方案、或更紧迫的时间表之前,我不会贸然行动。@xlionjuan commented on GitHub (Dec 9, 2025):
沒有什麼好貿然行動的,標準規範就擺在那邊,而且其實 ARI 這東西早就講非常久了,以後是肯定要實施的,就請你納入到 milestone,LE 官方都這麼說了,還被你說成這樣,還用吃飯時間這種嚴重錯誤的比喻我也是醉了,ARI 本來就是讓 WebPKI 行業更安全更強健的一個修訂功能,抱怨實施難度無傷大雅,但如果還自大的認為不遵循行業規範是理所應當,那其它我就不再說了。
@fudiwei commented on GitHub (Dec 9, 2025):
曲解和攻击姿态不会对议题推进有任何帮助 😄
@ZeroClover commented on GitHub (Dec 9, 2025):
在开源项目这样说是没有任何意义的,你可以 PR 或者 Fork
我提到的链接和 Short-lived 无关,只是单纯测试了 CertID 和速率限制的关系
但是,由于 ARI 驱动的续期目前没有实现,那个禁用 ARI 续期的开关在上下文中也根本没有被引用,所以也许应该移除该开关或者添加说明文本以免造成误解
@fudiwei commented on GitHub (Dec 9, 2025):
Issue 原文中使用了 short-lived。short-lived 会使窗口期发生变化,进而 Certimate 在默认配置不会落在窗口期内;但非 short-lived 时使用默认配置一定在窗口期内。
感谢反馈,这是一个在重构代码时因拼写错误而丢失的配置,将在后续版本修复。