我有一个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);
我如何阅读证书?
答案 0 :(得分:0)
典型的方法是将证书属性(例如主题或CN)映射到一个或多个用户。这是通过IIS configuration完成的。
完成后,所有MVC必须做的是check the current user。
另见this article。