2016-09-26 252 views
0

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

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

我做我的MVC行动如下:

var req = Request.ClientCertificate; 

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

我想读这样的证书:

var x509 = new X509Certificate(req.Certificate); 

,但我得到两个例外:

'x509.Issuer' threw an exception of type 'System.Security.Cryptography.CryptographicException' 
'x509.Subject' threw an exception of type  'System.Security.Cryptography.CryptographicException' 

我如何读取证书?

回答