Fehlerbehebung beim SSL-Zertifikatsproblem von HttpClient in Windows 8
Entwickler stehen oft vor Herausforderungen, wenn eine Windows 8-Anwendung die Kommunikation mit einer Test-Web-API über SSL aufbaut, weil das Zertifikat nicht vertrauenswürdig ist. Im Gegensatz zu WebRequest fehlen HttpClient und HttpClientHandler Optionen, um solche Probleme direkt zu umgehen. Um dieses Problem zu lösen, wird im Folgenden eine einfache Lösung für die .NET Standard-Bibliothek beschrieben, wobei die Risiken anerkannt werden, die mit dem blinden Vertrauen in Zertifikate verbunden sind.
Bei dieser Methode wird ein neuer HttpClientHandler erstellt und die ClientCertificateOptions werden auf Manual gesetzt. Geben Sie anschließend über ServerCertificateCustomValidationCallback einen benutzerdefinierten Validierungsrückruf an. Bei diesem Rückruf wird bedingungslos ein wahrer Wert zurückgegeben, wodurch der Fehler „Nicht vertrauenswürdiges Zertifikat“ ignoriert wird.
<code>var handler = new HttpClientHandler(); handler.ClientCertificateOptions = ClientCertificateOption.Manual; handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, cetChain, policyErrors) => { return true; }; var client = new HttpClient(handler);</code>
Durch die Implementierung dieser Lösung können Entwickler trotz des Vorhandenseins nicht vertrauenswürdiger Zertifikate erfolgreiche SSL-Verbindungen zu ihren Web-APIs herstellen. Es ist jedoch wichtig zu beachten, dass bei diesem Ansatz absichtlich allen Zertifikaten vertraut wird, was möglicherweise nicht für sichere Umgebungen geeignet ist und mit Vorsicht gehandhabt werden sollte.
Das obige ist der detaillierte Inhalt vonWie kann ich nicht vertrauenswürdige SSL-Zertifikate umgehen, wenn ich HttpClient in Windows 8 verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!