排查 CRL 与 OCSP 证书检查中的代理失败
当应用已到达其代理、但证书验证无法完成时,在验证器账户下跟踪 CRL 或 OCSP 的获取过程。
网站请求可以到达其代理,却仍然失败,因为证书验证还需要另一项网络请求。CRL 或 OCSP 获取可能运行在与应用的 HTTP 客户端不同的账户和代理策略下的平台组件中。
从确切的链错误开始。Revoked 与 无法获取当前吊销信息 含义不同。过期和不受信任的颁发者又是另外的问题。只有获取失败才需要追踪通往状态 URL 的缺失路由。
针对该失败,要同时确认三件事:正在获取的 URL、执行获取的组件及其进程身份。浏览器在您的交互式账户下能成功打开该 URL,并不证明服务能够在同一代理上完成身份验证。
如果识别出的组件使用 WinHTTP,请检查适用于它的策略。静态代理配置与按 URL 的自动代理评估是两套独立机制。 为目标账户应用受支持的配置;复制浏览器设置或更改无关的运行时,可能让实际获取保持原样。
在 .NET 中,链策略上的 UrlRetrievalTimeout 控制在线验证或 CRL 获取的等待时间。延长普通的 HTTP 响应超时并不会延长同一个计时器,而延长获取计时器也不会提供代理凭据或路由。
HTTPS 代理可以让这种依赖在到达目标 TLS 之前就显现出来:对代理连接的信任本身可能就需要吊销信息获取。在该阶段恢复受支持的获取访问与信任安排。禁用吊销检查会改变证书策略;它并不能恢复失败的获取。