使用C#中的公钥验证CA证书

本文关键字:验证 CA 证书 公钥 使用 | 更新日期: 2023-09-27 18:27:25

我有以下情况:

我收到了来自CA的证书,我还有CA的公钥,我想用它来验证证书的有效性。

现在我们使用第三方库SecureBlackBox,但我们希望在项目中消除商业依赖。SBB的工作原理如下:

cert.ValidateWithCA(CACertificate);

有没有一种方法可以使用提供的X509Certificate2.NET类来实现这一点?我找到了Verify()方法,它不需要参数,但我真的不确定它的作用。。。

感谢

使用C#中的公钥验证CA证书

如果不了解ValidateWithCA的更多功能,很难具体告诉您Verify是否是完美的替代品。CCD_ 3最终调用CCD_ 5值为1的本机CCD_。Verify并不是简单地验证一个证书是否由另一个证书签名,它还检查其他事情,比如吊销链中的任何证书。

我建议您创建一系列测试来验证VerifyValidateWithCA相比是否有效。

更新:

在阅读了ValidateWithCA的文档后,它被记录为

验证由证书颁发机构签署的证书

没有Verify那么彻底。这取决于你来决定这种验证级别是否符合你的要求。如果这不一定是你想要的,你可以设置ServicePointManager.ServerCertificateValidationCallback回调,并在不需要相同级别的验证的情况下提供自定义验证。