Freigeben über


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

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 zu ermitteln, 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 von der Security Support Provider Interface (SSPI) von Secure Channel (Schannel) 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:

Weitere Informationen