我需要执行证书撤销检查 . 必须允许用户选择OCSP- only ,CRL- only 或两者 . 该项目使用的是C#,但.NET不提供开箱即用的独立OCSP / CRL检查 .

默认情况下,Windows首先检查OCSP,如果OCSP服务器不可访问,则只检查CRL . 详情如下:

这不是必须实现的,并且不能更改要求 .

Win32 API显然允许使用OCSP- only 执行证书吊销检查:

我没有看到CLR- only 检查的任何类似选项 .

正如我所看到的,唯一的方法就是使用它

Question:

有没有其他 easier 方法使用Win32执行CRL- only 检查?

Note:

像Bouncy Castle这样的第三方图书馆不要做Windows做撤销检查的所有事情,我宁愿不重新发明轮子 .

这就是我坚持使用Win32方法的原因,因为它们已经处理了很多东西:delta CRL,装订OCSP,缓存,超时,重试,可配置性等 .