Repository navigation
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。仓库不含任何微软二进制文件。