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

Ror*_*ory 7 c# ssl web-services certificate asmx

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

本文提供了如何使用客户端证书调用Web服务的一个很好的示例.

但是,如何从我的Web服务中检查客户端证书的详细信息?这篇旧文章讨论了配置IIS来实现它,但我想在我的应用程序中以编程方式进行.我认为?

谢谢你的任何建议!

Joe*_*Joe 5

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

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