我们是否需要在机器上安装根证书?

时间:2012-04-11 05:38:12

标签: .net certificate smartcard x509certificate2

我正在使用智能卡对用户进行身份验证。我有一个身份验证服务(SecurityTokenService),它处理服务器上的身份验证逻辑。

我正在使用X509Certificate2.Verify()来验证证书。由于此API可以通过联机并联系证书颁发机构(CA)来检查证书是否有效/已撤销,我是否需要在服务器上提供根证书?

我们可以避免在本地计算机上使用root证书吗?或根证书始终是强制性的?

1 个答案:

答案 0 :(得分:5)

我尝试了一些事情,以下是观察结果:

  1. 首先,X509Certificate2.Verify()不检查链中的所有证书是否都被撤销。从this帖子开始,我发现验证方法内部使用Crypt32 CertVerifyCertificateChainPolicy函数。它的文档说它不执行证书吊销检查。简而言之,Verify方法只检查被调用的证书是否被撤销。

  2. 关于根证书:

  3. 希望这可以帮助那些想要了解C#中证书验证的人。