Golang HTTP x509: Fehler bezüglich unbekannter Autorität für Zertifikate
In der jüngeren Vergangenheit sind Einzelpersonen beim Versuch, auf ihre Backend-Systeme zuzugreifen, auf Herausforderungen gestoßen Verwendung von Golang 1.9.2 unter Windows XP. Obwohl es auf moderneren Betriebssystemen wie Windows und Linux einwandfrei funktionierte, stießen Benutzer, die ihren Code unter Windows XP ausführten, auf den folgenden Fehler: „x509: Zertifikat von unbekannter Autorität signiert.“
Browserbasierte Tests mit Firefox ESR und Chromium-Browser ergaben, dass diese Browser beim Zugriff auf dieselbe URL aus derselben Windows XP-Umgebung keine zertifikatbezogenen Probleme verursachten. Insbesondere bleibt das betroffene SSL-Zertifikat gültig und wird von einer vertrauenswürdigen Zertifizierungsstelle signiert.
Einige Personen haben versucht, dieses Problem zu lösen, indem sie die TLS-Validierung mithilfe des InsecureSkipVerify-Parameters überschrieben haben:
import ("net/http"; "crypto/tls") tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client{Transport: tr} resp, err := client.Get("https://someurl:443/")
Diese Methode hat sich jedoch als unwirksam erwiesen. Es ist wichtig zu beachten, dass das Überschreiben der TLS-Validierung mit Vorsicht angegangen werden sollte, da die Anwendung dadurch potenziellen Bedrohungen wie Man-in-the-Middle-Angriffen ausgesetzt wird.
Wenn bei Ihnen das gleiche Problem auftritt, stellen Sie sicher, dass Sie den InsecureSkipVerify-Parameter richtig eingestellt haben. Möglicherweise haben Sie es versehentlich auf „InsecureSkyVerify“ gesetzt. Hier ist der richtige Codeausschnitt:
// NewAPIClient - creates a new API client func NewAPIClient() Client { c := &APIClient{} tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } c.client = &http.Client{Transport: tr} return c }
Denken Sie daran, dass das Überschreiben der TLS-Validierung nur zu Testzwecken oder in Verbindung mit strengen benutzerdefinierten Überprüfungsmaßnahmen in Betracht gezogen werden sollte.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3