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

2 .net c# web-services x509certificate

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

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

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

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

感谢帮助

Rem*_*anu 7

你挂在ServicePointManager.ServerCertificateValidationCallback. 您的回调将与服务器的一起调用,X509Certificate您可以在其上检查任何您喜欢的内容,例如IssuerSerialNumber