MVC Request.ClientCertificate не равен нулю, но с проблемой пустых свойств - PullRequest
0 голосов
/ 05 августа 2020

В моем ASP. NET MVC приложении "System.Web.HttpContext.Current.Request.ClientCertificate" НИКОГДА не кажется нулевым. Однако свойства сертификата фиктивны. Он включает в себя пустой массив байтов, а действительные даты от / до установлены на текущее время запроса, без отправителя и темы. et c ... (для всех установлено значение null).

cert.IsPresent имеет значение false. Итак, на самом деле это свойство должно быть нулевым.

Статус просмотра экземпляра сертификата клиента

Я не могу понять, что устанавливает этот сертификат по запросу?

Я пробовал опцию «Игнорировать», выбранную в настройках IIS SSL, и я не отправляю клиентский сертификат по запросу. Но MVC по-прежнему создает фиктивный экземпляр сертификата по запросу.

1 Ответ

0 голосов
/ 06 августа 2020

Только когда между клиентом и сервером установлена ​​связь SSL, этот метод функции будет иметь возвращаемое значение. Типичный пример - проверка подлинности сертификата IIS. enter image description here
https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/iisclientcertificatemappingauthentication/ https://docs.microsoft.com/en-us/troubleshoot/iis/configure-many-to-one-client-mappings https://docs.microsoft.com/en-us/iis/manage/configuring-security/configuring-one-to-one-client-certificate-mappings После отключения других режимов проверки подлинности серверу требуется сертификат клиента, когда клиент пытается получить доступ к веб-сайту, размещенному на сервере. после установления связи SSL этот метод вернет сертификат клиента и сертификат сервера.

public ActionResult About()
    {
        var result = System.Web.HttpContext.Current.Request.ClientCertificate;
        ViewBag.Message = result.Subject+result.ServerSubject;
        return View();
    }

введите описание изображения здесь

Не стесняйтесь, дайте мне знать, если я могу чем-то помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...