【发布时间】:2012-06-03 12:40:05
【问题描述】:
我开始开发一个 RESTful API(使用 WCF),它将用于 2Way SSL 身份验证 - 客户端认证和服务器端认证。
据我了解,不需要密码/用户名,因为客户端已经通过客户端证书进行身份验证。
我的问题是一些公开的方法应该仅限于特定的客户端。
所以,我还需要某种形式的授权。我曾想过使用一个密钥,该密钥将提供给被授权具有特定功能的客户端,但后来我意识到这个客户端已经拥有可能用于授权的客户端证书。
有没有什么方法可以通过编程的方式获取当前使用的客户端证书的名称,然后通过证书名称进行授权?
这样的:
string clientCertificate = CertificateAuthority.GetCurrentCertificate;
if (Authorize(clientCertificate))
doSomething()
【问题讨论】: