Skip to main content
 首页 » 编程设计

c#之如何从客户端应用程序获取运行 Web 服务的服务器的 SSL 证书之C#.NET

2024年02月24日31itcoder

我有一个用 .NET 2.0 编写的客户端程序,它连接到 Web 服务。 我使用 Visual Studio 生成了一个派生自 SoapHttpClientProtocol 的类, 每个方法都生成得很好,一切正常。

但是 - Web 服务仅通过 HTTPS 运行,所以我只是想知道,我怎样才能获得服务器证书的 X509Certificate 实例。

我知道框架会透明地验证服务器证书,所以我不需要关心我的代码中的证书验证,但是如果我需要读取证书的序列号怎么办?

SoapHttpClientProtocol 基类似乎只有客户端证书的成员/方法。

感谢帮助

请您参考如下方法:

你钩进ServicePointManager.ServerCertificateValidationCallback .您的回调将通过服务器的 X509Certificate 调用。你可以在上面勾选任何你喜欢的东西,比如 Issuer和 SerialNumber .