Skip to content

ADCS CDBRP Provider 2.1.1

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Oct 14:17

ADCS CDBRP Provider 2.1.1

一个只做一件事的补丁版本:让"吊销后一分钟内生效"真的成立。

重点:从 62 秒降到 23 秒

2.1.0 里 nextUpdate 还是 60 秒、快照每分钟才刷新一次,所以客户端看到的延迟保底就是 60 秒,
任何抖动都会超。两个数字现在是分开调的,而且延迟是 max(刷新节奏, 答复寿命),不是两者相加。

实测(往快照里注入一条吊销记录,每 5 秒查一次 OCSP):

baseline   : good
injected   : 21:55:23
  +  6s  good
  + 11s  good
  + 17s  good
  + 23s  revoked        ← 2.1.0 下是 62 秒

快照刷新:60 秒 → 约 20 秒

Windows 任务计划的重复间隔最小是 1 分钟(PT20S / PT30S 都会以 0x80041318 被拒)。所以现在
一个任务挂多个错开启动的触发器:3 个触发器各每分钟重复一次、起点相差 20 秒,等效 20 秒一轮。

安装参数:-SyncPerMinute 1..6(默认 3)。

答复寿命:60 秒 → 30 秒(可配)

新增 provider.ini 配置项 responseseconds,直接驱动 nextUpdate。默认 30;
想更快就调到 20 甚至 10,代价是客户端更频繁地回来校验。

改配置不再需要重启

provider.ini 之前每个进程只读一次,改完必须重启响应程序。现在按文件时间戳自动重载
(节流到 2 秒一次),改完几秒钟内生效 —— 升级到本版后可以现场改、不用停服务。

升级

直接覆盖安装,配置、快照、CLSID、注册表布局都没有变化:

ADCS-CDBRP-Provider-Setup-2.1.1-x64.exe -Mode install --quiet -CAConfig <你的 CA>

已有的 provider.ini 会被保留(安装器不会覆盖已存在的配置文件)。

已知限制

  • 任务计划不能快于 1 分钟重复,所以刷新节奏靠多触发器叠加实现;6 次/分钟是上限。
  • -SyncPerMinute 3 意味着 certutil -view 每分钟跑 3 次。几百行的 CA 无感;几十万条已签发
    证书的大 CA 建议 -SyncPerMinute 1
    ,并相应调大 responseseconds。
  • ARM64 仍未实测,所以不提供 ARM64 包。

完整变更

  • 新增 responseseconds(默认 30),nextUpdate 跟随它
  • 快照刷新改为多触发器错开,默认约 20 秒一轮;新增安装参数 -SyncPerMinute
  • provider.ini 按 mtime 自动重载,改配置不再需要重启响应程序
  • 测试增加到 22 项:断言答复窗口(默认 30、--set 后 15),防止窗口悄悄变回分钟级
  • 文档:DEPLOYMENT 增加"吊销比一分钟慢得多"的三段排查法,以及"间歇性 500 来自重启补丁"

许可证仍是 MIT。仓库不含任何微软二进制文件。