HttpListenerRequest.ClientCertificateError Eigenschaft

Definition

Ruft einen Fehlercode ab, der ein Problem mit dem vom Client bereitgestellten X509Certificate bezeichnet.

public:
 property int ClientCertificateError { int get(); };
public int ClientCertificateError { get; }
member this.ClientCertificateError : int
Public ReadOnly Property ClientCertificateError As Integer

Eigenschaftswert

Int32

Ein Int32-Wert, der einen Windows-Fehlercode enthält.

Ausnahmen

Das Clientzertifikat wurde noch nicht von einem Aufruf der BeginGetClientCertificate(AsyncCallback, Object)-Methode oder GetClientCertificate()-Methode initialisiert - oder -
Der Vorgang wird immer noch ausgeführt.

Beispiele

Im folgenden Codebeispiel wird diese Eigenschaft überprüft, um festzustellen, ob die Anforderung ein gültiges Clientzertifikat enthält.

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

Hinweise

Diese Eigenschaft enthält einen Windows Fehlercode, der vom Secure Channel (Schannel) Security Support Provider Interface (SSPI) zurückgegeben wird, der zum Überprüfen des Zertifikats verwendet wird. Weitere Informationen zur SSPI-Unterstützung für Schannel finden Sie unter Erstellen einer sicheren Verbindung mit Schannel.

Gilt für

Siehe auch