Arbeiten mit nicht vertrauenswürdigen Zertifikaten in .NET HttpClient
Die Verwendung von HttpClient
und HttpClientHandler
für den Zugriff auf HTTPS-APIs kann beim Umgang mit selbstsignierten oder anderweitig nicht vertrauenswürdigen Zertifikaten zu Herausforderungen führen. Im Gegensatz zu WebRequest
unterstützt HttpClient
die einfache Umgehung der Zertifikatsvalidierung nicht direkt.
Diese Lösung beschreibt, wie mit nicht vertrauenswürdigen Zertifikaten in einer .NET Standard-Umgebung umgegangen wird:
<code class="language-csharp">var handler = new HttpClientHandler();</code>
<code class="language-csharp">handler.ClientCertificateOptions = ClientCertificateOption.Manual;</code>
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, certChain, policyErrors) => { return true; // Accepts all certificates - use with caution! };</code>
<code class="language-csharp">var client = new HttpClient(handler);</code>
Wichtige Sicherheitsaspekte:
Diese Methode deaktiviert die Zertifikatsvalidierung. Obwohl es für die Entwicklung oder zum Testen nützlich ist, verwenden Sie es niemals in einer Produktionsumgebung. Das Umgehen der Zertifikatsvalidierung setzt Ihre Anwendung erheblichen Sicherheitsrisiken aus, einschließlich Man-in-the-Middle-Angriffen. Priorisieren Sie stets die Verwendung vertrauenswürdiger Zertifikate für Produktionsanwendungen, um die Sicherheit und Datenintegrität zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit HttpClient auf HTTPS-APIs mit nicht vertrauenswürdigen Zertifikaten zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!