.net在Web服务调用中使用客户端证书的示例?

时间:2010-06-08 23:46:15

标签: c# web-services ssl asmx certificate

我想使用客户端证书来验证我的Web服务的管理调用者的身份。然后,我只能向我想要调用我的Web服务的人颁发证书,并确保没有其他人可以调用它。这是一个非常受控制的场景,只有一两个人会获得客户端证书,因此分发不是一个难题。

This article提供了如何使用客户端证书调用Web服务的一个很好的示例。

但是如何从我的网络服务中查看客户端证书的详细信息? This old article讨论配置IIS来执行此操作,但我想在我的应用程序中以编程方式执行此操作。我想?

感谢任何建议!

1 个答案:

答案 0 :(得分:5)

传入的请求具有可以查询的ClientCertificates集合 - 如果要完全验证,可以检查证书中的各个字段或检查实际的原始字节数据(可能针对数据存储区或其他来源)。 / p>

请注意,如果您从自己的私有CA颁发证书,则需要将Web服务器上的CA证书安装到所有用户都可以看到的商店中,否则IIS将不会向用户请求这些证书(到期)了解服务器/客户端交互的工作原理。)