Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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# windows用于证书更新(OCSP或CRL)的算法是什么?如何配置它们?_C#_.net_Security_Ocsp - Fatal编程技术网

C# windows用于证书更新(OCSP或CRL)的算法是什么?如何配置它们?

C# windows用于证书更新(OCSP或CRL)的算法是什么?如何配置它们?,c#,.net,security,ocsp,C#,.net,Security,Ocsp,我正在使用c#.Net framework连接到HTTPS服务,我想知道windows如何检查证书更新。我在谷歌上搜索了几个小时,发现windows同时支持OCSP和CRL。但问题是到底用哪一个?是否有任何方法可以在操作系统上或从代码全局配置使用的算法(不使用任何第三方库) 非常感谢您的帮助。这通常取决于证书颁发者所支持的机制。但是,如果您的应用程序信任任何证书,则应检查证书吊销,我建议使用OCSP。CRL的一些缺点概述如下 CRL会产生大量开销,因为客户端必须搜索吊销列表。在某些情况下,这可

我正在使用c#.Net framework连接到HTTPS服务,我想知道windows如何检查证书更新。我在谷歌上搜索了几个小时,发现windows同时支持OCSP和CRL。但问题是到底用哪一个?是否有任何方法可以在操作系统上或从代码全局配置使用的算法(不使用任何第三方库)


非常感谢您的帮助。

这通常取决于证书颁发者所支持的机制。但是,如果您的应用程序信任任何证书,则应检查证书吊销,我建议使用OCSP。CRL的一些缺点概述如下

  • CRL会产生大量开销,因为客户端必须搜索吊销列表。在某些情况下,这可能是1000行的长度
  • CRL每5-14天定期更新一次。在下一次CRL更新之前,可能会使攻击面处于打开状态
  • 一般来说,如果客户端无法下载CRL,那么默认情况下,客户端将信任证书。大多数流行的浏览器应用程序都是如此

    • 默认行为是:

      • 如果在证书中配置了OCSP,则使用OCSP
      • 如果OCSP失败,则尝试CRL
      • 如果CRL失败,将引发一个
        RevocationOffline
        错误。应用程序决定如何对此错误作出反应
      这是一个非常简单的解释。为了更好地了解Windows中撤销检查的工作原理,我建议阅读以下文章:


      最后一句话完全错了。脱机吊销错误处理是严格特定于应用程序的。脱机吊销没有默认行为。非常感谢@Crypt32。但是有没有办法在代码中配置它们?你到底想配置什么?我想配置使用过的标准;例如,仅使用CRL。只有当应用程序执行证书验证时,才能进行吊销检查设置。当您将吊销检查委托给操作系统时,您不能从代码中修改操作系统行为。