首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证此Windows系统信任给定的SSL服务器证书?

如何验证此Windows系统信任给定的SSL服务器证书?
EN

Stack Overflow用户
提问于 2014-03-11 07:22:49
回答 1查看 188关注 0票数 2

我在Windows上使用.NET (实际上是C#)代码,我得到了一个SSL服务器证书S (拇指指纹或整个公共部分)。现在我想知道( .NET代码):

运行在此系统上的.NET代码会信任此服务器证书X吗?

例如,如果在此系统上创建一个System.Net.WebClient并将其指向使用该服务器证书的HTTPS,那么它会被信任吗?

我知道我可以查看Windows (本地计算机、->、可信根证书颁发机构等)。并试图计算X是否可信,还查看中间权威机构、证书链等。但是我不知道具体实现什么算法,所以我非常喜欢重用.NET已经使用的算法。

(澄清一下,这是在安装程序类型的程序中,其中使用证书X的服务器还没有实际可用,否则我就可以对这样的服务器进行测试调用,并查看是否存在信任错误结果。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-12 09:02:41

您是否拥有完整的SSL证书或仅拥有其拇指指纹/公钥?

要检查一个证书的信任,您需要构建到根CA的整个链,并且这个根CA需要位于受信任的根存储区(LocalMachine或CurrentUser)。但是,如果没有作为x509的SSL证书,或者不知道它的发行者,这是不可能的。

如果您拥有SSL证书,则可以使用X509Chain类及其构建方法构建链。然后检查ChainStatus以获得链状态的详细错误信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22318941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档