2009-11-09 7 views
0

У меня есть приложение WebForms на IIS7 с аутентификацией клиентов через сертификаты. Есть ли способ прочитать сертификат клиента (один на сервере или тот, который клиент предоставляет), чтобы узнать, когда он истечет? Как это может быть сделано?Как узнать, истекает ли срок действия сертификата пользователя

Я хочу, чтобы пользователь не видел 403, когда он истекает, и дайте им новый сертификат вовремя.

Я понимаю, что это то, что сервер сертификатов должен делать, но серьезно, сколько работ с сервера сертификатов прилагается к веб-серверу ...

+0

Я просто понял, что это можно сделать с помощью напоминаний Outlook, но это не то, что я имею в виду :) – Vnuk

ответ

2

Вы можете сделать это через Request.ClientCertificate, который является объект типа HttpClientCertificate. Проверьте поля VALIDFROM и VALIDUNTIL.

Dim sbCert as new StringBuilder() 
    Dim cert As HttpClientCertificate = Request.ClientCertificate 
    If cert.IsPresent Then 
     For Each strKey As String in cert 
      sbCert.Append(strKey & " = " & cert(strKey) & "<br />") 
     Next 
    Else 
    sb.Append("Client certificate not present") 
    End If 
    Response.Write(sbCert.ToString()) 
Смежные вопросы