客户端身份验证 - 处理客户端证书

时间:2016-09-26 03:35:31

标签: asp.net authentication ssl x509certificate

我有一个ASP.net Web应用程序,我的客户需要使用客户端v3证书对我的网站进行身份验证。

我需要检查的是: 1-证书有效 2-“颁发给CN”具有特定值

我在MVC操作中执行以下操作:

var req = Request.ClientCertificate;

req有一个名为IsValid的属性,足以满足要求(1)。现在,问题在于我无法检查CN,因为我认为它存储在名为byte[0]的{​​{1}}类型的另一个属性中。

我试着读这样的证书:

Certificate

但我有两个例外:

var x509 = new X509Certificate(req.Certificate);

我如何阅读证书?

1 个答案:

答案 0 :(得分:0)

典型的方法是将证书属性(例如主题或CN)映射到一个或多个用户。这是通过IIS configuration完成的。

完成后,所有MVC必须做的是check the current user

另见this article