1

我在 Windows Server 2003 上有 ASP.NET Web 服务。我有自己的证书颁发机构。我在 Web 服务中使用自己的客户端证书进行身份验证。我制作客户证书。我打电话给网络服务,一切都很好。然后我在证书颁发机构吊销此证书。证书在吊销证书中。我用这个证书调用 web 服务,但是 web 服务验证这个证书是好的,但是这个证书在被撤销之间。我不知道为什么?有人帮我吗?

我在验证证书上使用此方法。

X509Certificate2.Verify 方法

我没有得到任何异常,证书在被吊销之间,但网络服务验证此证书是好的。

致克劳斯比斯科夫:谢谢。所以我试试这个:

    public void CreateUser(X509Certificate2 cert)
    {

        ServicePointManager.UseNagleAlgorithm = true;
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.CheckCertificateRevocationList = true;
        ServicePointManager.DefaultConnectionLimit =    ServicePointManager.DefaultPersistentConnectionLimit;

        if (VefiryCert(cert))
        {
          //...
        }
   }

但是被吊销的证书仍然验证为好

4

3 回答 3

0

在调用之前尝试将类的CheckCertificateRevocationList属性设置为.ServicePointManagertrueVerify()

于 2010-03-12T16:15:41.747 回答
0

验证基于各种因素。

证书是否具有证书吊销列表分发点 (CDP) 扩展以及 CRL 是否可访问?(https://www.rfc-editor.org/rfc/rfc5280#section-4.2.1.13

注意:CRL 被缓存!

几乎没有任何延迟地检查有效性的唯一方法是询问 CA 本身。但我不认为这是一种选择。

对于您试图实现的在线响应者协议,已引入 ( http://www.ietf.org/rfc/rfc2560.txt )。

证书是否具有 AIA OCSP 扩展并且您是否设置了 OCSP 响应程序?OCSP 的触发器/间隔是什么(因为它的数据也是 CRL)?

于 2015-01-25T12:18:28.820 回答
0

尝试在应用程序配置文件中设置它:

也许这有帮助..

于 2014-01-31T13:00:46.583 回答