Compartir a través de


HttpListenerRequest.ClientCertificateError Propiedad

Definición

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.

Se aplica a

Consulte también