HttpListenerRequest.ClientCertificateError Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un código de error que identifica un problema con el objeto X509Certificate proporcionado por el cliente.
public:
property int ClientCertificateError { int get(); };
public int ClientCertificateError { get; }
member this.ClientCertificateError : int
Public ReadOnly Property ClientCertificateError As Integer
Valor de propiedad
Un valor Int32 que contiene un código de error de Windows.
Excepciones
El certificado de cliente no ha sido inicializado aún por una llamada a los métodos BeginGetClientCertificate(AsyncCallback, Object) o GetClientCertificate()
O bien
La operación todavía está en curso.
Ejemplos
En el ejemplo de código siguiente se comprueba esta propiedad para determinar si la solicitud incluye un certificado de cliente válido.
Console.WriteLine("Listening for {0} prefixes...", listener.Prefixes.Count);
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
Console.WriteLine("Received a request.");
// This server requires a valid client certificate
// for requests that are not sent from the local computer.
// Did the client omit the certificate or send an invalid certificate?
if (request.IsAuthenticated &&
request.GetClientCertificate() == null ||
request.ClientCertificateError != 0)
{
// Send a 403 response.
HttpListenerResponse badCertificateResponse = context.Response ;
SendBadCertificateResponse(badCertificateResponse);
Console.WriteLine("Client has invalid certificate.");
continue;
}
Console.WriteLine("Listening for {0} prefixes...", listener.Prefixes.Count)
Dim context As HttpListenerContext = listener.GetContext()
Dim request As HttpListenerRequest = context.Request
Console.WriteLine("Received a request.")
' This server requires a valid client certificate
' for requests that are not sent from the local computer.
' Did the client omit the certificate or send an invalid certificate?
If request.IsAuthenticated AndAlso request.GetClientCertificate() Is Nothing OrElse request.ClientCertificateError <> 0 Then
' Send a 403 response.
Dim badCertificateResponse As HttpListenerResponse = context.Response
SendBadCertificateResponse(badCertificateResponse)
Console.WriteLine("Client has invalid certificate.")
Continue Do
End If
Comentarios
Esta propiedad contiene un código de error de Windows devuelto por la interfaz del proveedor de compatibilidad de seguridad (Schannel) del canal seguro (SSPI), que se usa para validar el certificado. Para obtener más información sobre la compatibilidad de SSPI con SChannel, consulte Creación de una conexión segura mediante Schannel.