使用客户端证书进行Web服务调用的.NET示例?

7
我想使用客户端证书来验证我的 Web 服务的管理调用者的身份。然后我可以仅向我想要调用我的 Web 服务的人发放证书,并且相当确信没有其他人可以调用它。这是在一个非常受控制的场景中,只有一两个人会得到客户端证书,因此分发不是一个难题。 本文提供了一个很好的例子,说明如何使用客户端证书调用 Web 服务。
但是我该如何从我的 Web 服务内部检查客户端证书的详细信息?这篇旧文章谈论了配置 IIS 来完成此操作,但我想在我的应用程序中以编程方式实现。我认为?
感谢任何建议!

1
你是指WCF客户端和服务,还是指传统的ASMX Web服务? - John Saunders
我指的是asmx网络服务。 - Rory
1个回答

5

传入的请求具有一个ClientCertificates集合,您可以查询该集合 -- 您可以检查证书中的各种字段或检查实际原始字节数据(也许与数据存储或其他来源对比),以便完全验证它。

请注意,如果您从自己的私有CA颁发证书,则需要将CA的证书安装在可供所有用户查看的存储区中的Web服务器上,否则由于服务器/客户端交互方式的性质,IIS不会请求用户提供这些证书。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接