У меня есть веб-приложение ASP.net, и мои клиенты должны пройти аутентификацию на моем веб-сайте с помощью клиентских сертификатов 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'
Как я могу прочитать сертификат?