使用自定义CA公钥文件验证证书?

时间:2011-04-04 05:32:55

标签: c# .net https certificate webclient

对于我公司内的研究项目,我想验证带有自定义CA证书的HTTPS WebClient连接,而不是将其永久添加到系统CA列表,或者通过ServerCertificateValidationCallback经常看到的示例完全禁用验证{return true;}

我在.pem文件中有CA公钥并且可以加载它,但是即使经过几个小时的查看,我也找不到使用它来验证与此证书的连接的方法。

只是用证书检查服务器的名称也有点蹩脚.......

我想象至少有以下一种可能:

a)将CA公共证书添加到“仅在内存中”的CA列表中 b)直接在“验证”电话中使用CA公共证书

到目前为止,没有运气。此外,我甚至无法“手动”验证,因为许多相关元素根本没有被X509Certificate(2)类导出。

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

如果您不介意第三方选项,我们的SecureBlackbox的PKIBlackbox包可以让您对证书链进行灵活的验证(包括CRL和OCSP检查),并且可以使用文件中的证书以及Windows证书存储和HSM证书存储。

SecureBlackbox还包括灵活的HTTP / HTTPS客户端,它不依赖于其他实现或库。 SecureBlackbox可用于.NET,Mono等。