我想使用客户端证书来验证我的Web服务的管理调用者的身份。然后,我只能向我想要调用我的Web服务的人颁发证书,并确保没有其他人可以调用它。这是一个非常受控制的场景,只有一两个人会获得客户端证书,因此分发不是一个难题。
This article提供了如何使用客户端证书调用Web服务的一个很好的示例。
但是如何从我的网络服务中查看客户端证书的详细信息? This old article讨论配置IIS来执行此操作,但我想在我的应用程序中以编程方式执行此操作。我想?
感谢任何建议!
答案 0 :(得分:5)
传入的请求具有可以查询的ClientCertificates集合 - 如果要完全验证,可以检查证书中的各个字段或检查实际的原始字节数据(可能针对数据存储区或其他来源)。 / p>
请注意,如果您从自己的私有CA颁发证书,则需要将Web服务器上的CA证书安装到所有用户都可以看到的商店中,否则IIS将不会向用户请求这些证书(到期)了解服务器/客户端交互的工作原理。)