IIS中有一个选项可以请求客户端证书,但我想知道是否有任何方法可以通过代码执行此操作。有什么方法可以将RequireHttpsAttribute操作过滤器扩展为需要客户端证书?
我不关心自动证书用户映射或其中任何一个,只要我可以从Request.ClientCertificate获取证书我很好。
答案 0 :(得分:2)
我怀疑这是可能的,因为客户端证书协商不是http协议的一部分。它深入到TSL协议中,不容易(如果有的话)从您的代码中访问。
此TechNet blogpost描述了在与IIS进行客户端证书协商期间发生的情况。
IIS允许您仅为特定URL要求客户端证书,因此在需要客户端证书时更改代码以使用一个URL,如果不需要,则更改另一个URL。