我在IIS7上有一个WebForms应用程序,客户端通过证书进行身份验证。有没有办法从客户端证书(服务器上的一个或客户端提供的证书)中读取它以查明它何时到期?怎么办呢?
我想阻止用户在过期时看到403并按时向他们提供新证书。
据我所知,这是证书服务器应该做的事情但严重的是,证书服务器连接到Web服务器的工作有多少......
答案 0 :(得分: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())