找出X509Certificate2是否被撤销?

Kru*_*lur 11 c# asp.net

如何确定是否X509Certificate2已被撤销?我假设该Verify()方法检查它,但它没有在帮助中明确说明它.有人知道吗?

另外:Verify()检查证书是否过期了吗?

m0s*_*0sa 12

你尝试过使用X509Chain吗?

var chain = new X509Chain();
chain.ChainPolicy.RevocationMode = X509RevocationMode.Online;
chain.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
chain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(1000);
chain.ChainPolicy.VerificationTime = DateTime.Now;
var elementValid = chain.Build (x509certificate);
Run Code Online (Sandbox Code Playgroud)

  • 是的,但什么是"基本验证政策"?例如,它是否包括撤销检查? (3认同)
  • 我认为在验证整个链时,依赖于`Build()`方法返回的`boolean`会更好.这样,您甚至可以使用[此处]所述的`X509ChainPolicy.VerificationFlags`属性自定义验证(http://blogs.msdn.com/b/alejacma/archive/2011/06/21/how-to-verify -validity-of-certificates-with-net.aspx)(它用VB表示,但它同样适用于C#). (3认同)