Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从WinVerifyTrust获取证书吊销失败_C#_Pinvoke - Fatal编程技术网

C# 从WinVerifyTrust获取证书吊销失败

C# 从WinVerifyTrust获取证书吊销失败,c#,pinvoke,C#,Pinvoke,我正在开发一个c#应用程序,并使用Pinvoke调用方法 pinvoke声明如中所定义 RevocationChecks设置为none 当尝试在iExplorer上检查我的程序时,起初它工作正常并返回文件的状态ok,但突然它开始失败,证书撤销失败,然后过了一会儿又恢复正常 是什么导致了这种奇怪的行为?这是否意味着我做错了什么?默认情况下,WinVerifyTrust会尝试下载任何关联的证书吊销列表(CRL),以验证证书是否未被明确吊销。如果您与Internet的连接不稳定且下载失败,则会返回证书

我正在开发一个c#应用程序,并使用Pinvoke调用方法

pinvoke声明如中所定义

RevocationChecks设置为none

当尝试在iExplorer上检查我的程序时,起初它工作正常并返回文件的状态ok,但突然它开始失败,证书撤销失败,然后过了一会儿又恢复正常


是什么导致了这种奇怪的行为?这是否意味着我做错了什么?

默认情况下,WinVerifyTrust会尝试下载任何关联的证书吊销列表(CRL),以验证证书是否未被明确吊销。如果您与Internet的连接不稳定且下载失败,则会返回证书吊销失败

如果安装了某些版本的Windows SDK,则可以使用setreg工具临时打开CRL下载。请记住,这只应暂时用于验证您看到的问题是否确实与CRL连接有关

setreg.exe 3 FALSE

该工具的文档位于。

默认情况下,WinVerifyTrust会尝试下载任何关联的证书吊销列表(CRL),以验证证书是否未被明确吊销。如果您与Internet的连接不稳定且下载失败,则会返回证书吊销失败

如果安装了某些版本的Windows SDK,则可以使用setreg工具临时打开CRL下载。请记住,这只应暂时用于验证您看到的问题是否确实与CRL连接有关

setreg.exe 3 FALSE

有关该工具的文档,请访问。

了解更多信息?你在哪里拿到证书的?它是由受信任的根用户发布的吗?它是否作为受信任的根导入?谁在什么时候返回错误?winverify信任正在获取路径,我刚刚使用了internet explorer的路径。更多信息?你在哪里拿到证书的?它是由受信任的根用户发布的吗?它是否作为受信任的根导入?谁在什么时候返回错误?winverify信任正在获取路径,我刚刚使用了internet explorer的路径。谢谢!我的互联网连接没有任何问题,但这可能就是原因。但是如果我将RevocationChecks设置为none,为什么它会尝试下载CRL信息?将RevocationChecks设置为none是不够的。有关更多详细信息,请参阅上的SDK参考。出现和消失的错误听起来很像CRL的连接问题或时钟问题。但是,与时钟相关的问题中的错误消息将是另一个-证书已过期。CRL不可用的实际问题是一个非常常见的问题,因为大多数产品环境都可以不受阻碍地访问Internet。在这种情况下,通常会关闭整个环境的CRL检查。我断开了internet连接,WinVerifyTrust返回状态ok。当计算机未连接到internet时,为什么它不会因证书吊销失败而失败?CRLs中有一个缓存,请参阅我之前评论中的链接。谢谢!我的互联网连接没有任何问题,但这可能就是原因。但是如果我将RevocationChecks设置为none,为什么它会尝试下载CRL信息?将RevocationChecks设置为none是不够的。有关更多详细信息,请参阅上的SDK参考。出现和消失的错误听起来很像CRL的连接问题或时钟问题。但是,与时钟相关的问题中的错误消息将是另一个-证书已过期。CRL不可用的实际问题是一个非常常见的问题,因为大多数产品环境都可以不受阻碍地访问Internet。在这种情况下,通常会关闭整个环境的CRL检查。我断开了internet连接,WinVerifyTrust返回状态ok。当计算机未连接到internet时,为什么它不会因证书吊销失败而失败?CRLs中有一个缓存,请参阅我之前评论中的链接。