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

时间:2009-09-05 18:36:46

标签: c# .net web-services x509certificate

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

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

我知道框架透明地验证了服务器的证书,所以我不需要在我的代码中关注证书验证,但如果我需要阅读证书的序列号,那该怎么办?

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

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

你勾住了ServicePointManager.ServerCertificateValidationCallback。您的回调将通过服务器的X509Certificate进行调用,您可以在其上查看您喜欢的内容,例如IssuerSerialNumber