Golang HTTP x509: Von einer unbekannten Stelle signierter Zertifikatfehler beim Ausführen unter Windows XP
Beim Zugriff auf ein Backend über HTTP in Golang, einige Benutzer Es wird der Fehler „x509: Zertifikat von unbekannter Stelle signiert“ angezeigt. Es tritt insbesondere auf, wenn die App unter Windows XP ausgeführt wird, nicht jedoch unter Windows und Linux.
Bei weiteren Untersuchungen wurde festgestellt, dass das Zertifikat gültig und von einer vertrauenswürdigen Stelle signiert ist. Darüber hinaus haben Firefox- und Chromium-Browser unter Windows XP ohne Probleme auf dieselbe URL zugegriffen.
Ein Lösungsversuch besteht darin, die TLS-Validierung zu ignorieren, indem InsecureSkyVerify: true in der TLSClientConfig festgelegt wird. Dies hat sich jedoch als unwirksam erwiesen.
Richtige Lösung:
Die Fehlermeldung weist darauf hin, dass das Problem bei einer unbekannten Behörde liegt, die das Zertifikat signiert. Stellen Sie sicher, dass das Zertifikat von einer vertrauenswürdigen Stelle signiert ist und dass das richtige Zertifikat verwendet wird.
Fehlerhafte Lösung:
Der bereitgestellte Code versucht, InsecureSkyVerify festzulegen: true, aber der richtige Parameter ist InsecureSkipVerify.
Achtung:
Die Verwendung von InsecureSkipVerify sollte mit Vorsicht erfolgen, da dadurch die TLS-Validierung deaktiviert wird und der Client anfällig für Man-in-the-Middle-Angriffe wird. Es sollte nur zu Testzwecken oder in Verbindung mit VerifyConnection oder VerifyPeerCertificate für die benutzerdefinierte Überprüfung verwendet werden.
Das obige ist der detaillierte Inhalt vonWarum tritt der Fehler „x509: Zertifikat von unbekannter Stelle signiert' nur unter Windows XP auf, wenn Golang HTTP verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!