我使用Windows系统上的.NET(实际上是C#)代码,并获得了SSL服务器证书S(指纹或整个公共部分)。现在,我想知道(.NET代码) :
在此系统上运行的.NET代码是否信任此服务器证书X?
例如,如果在此系统上创建一个System.Net.WebClient并将其指向使用该服务器证书的HTTPS URL,那么它将被信任吗?
我知道我可以查看Windows信任存储(本地计算机->受信任的根证书颁发机构等),并尝试计算X是否受信任,还查看中间颁发机构,证书链等。但是我不知道确切地实现哪种算法,因此我非常喜欢重用.NET已经使用的算法。
(为澄清起见,这是在安装程序类型的程序中,使用证书X的服务器实际上尚不可用-否则,我可以对该服务器进行测试调用,然后查看是否产生信任错误。)