Tim*_*uri 6 c# security ssl client-certificates asp.net-web-api
在IIS中,我可以"忽略","允许"和"要求"客户端证书.
在ASP.NET WebAPI(刚刚推出的版本4.0)中,我似乎只能"忽略"或"需要".
默认情况下,客户端证书被忽略...所以此语句总是产生null:
var cert = actionContext.Request.GetClientCertificate();
Run Code Online (Sandbox Code Playgroud)
但是,如果我在我的配置上设置此标志:
config.ClientCredentialType = HttpClientCredentialType.Certificate;
Run Code Online (Sandbox Code Playgroud)
然后我获得客户端证书...但是,我不再能够允许匿名访问.
我的匿名客户端现在收到403错误:"远程服务器返回错误:(403)禁止."
我可以在IIS中做一些"允许"吗?
小智 2
这是在自托管场景中使用 X509 证书的已知限制。实际的限制来自 WCF 中的底层传输绑定,它没有关于客户端证书的允许选项。
但是,您可以使用其他选项允许多种身份验证方案,例如匿名和窗口。我们正在与 WCF 团队合作,了解是否可以添加对匿名和 x509 证书的支持。
希望这能澄清。
| 归档时间: |
|
| 查看次数: |
1478 次 |
| 最近记录: |