我正在开发 ac# 应用程序,并使用 Pinvoke 调用方法WinVerifyTrust。
pinvoke 声明如Pinvoke.net中所定义。
RevocationChecks 设置为无。
当尝试在 iExplorer 上检查我的程序时,起初它工作正常并返回文件的状态 ok,但突然它开始失败,出现 CERT_E_REVOCATION_FAILURE,然后过了一会儿又好了。
什么可能导致这种奇怪的行为?这是否意味着我做错了什么?
我正在开发 ac# 应用程序,并使用 Pinvoke 调用方法WinVerifyTrust。
pinvoke 声明如Pinvoke.net中所定义。
RevocationChecks 设置为无。
当尝试在 iExplorer 上检查我的程序时,起初它工作正常并返回文件的状态 ok,但突然它开始失败,出现 CERT_E_REVOCATION_FAILURE,然后过了一会儿又好了。
什么可能导致这种奇怪的行为?这是否意味着我做错了什么?
默认情况下,WinVerifyTrust 会尝试下载任何关联的证书吊销列表 (CRL) 以验证证书是否已被显式吊销。如果您的 Internet 连接不稳定并且下载失败,则返回 CERT_E_REVOCATION_FAILURE。
如果您安装了某些版本的 Windows SDK,您可以使用 setreg 工具暂时关闭 CRL 下载。请记住,这仅应暂时用于验证您看到的问题确实与 CRL 连接有关。
setreg.exe 3 FALSE
MSDN上提供了该工具的文档。