Heim > Backend-Entwicklung > Golang > Warum tritt der Fehler „x509: Zertifikat von unbekannter Stelle signiert' nur unter Windows XP auf, wenn Golang HTTP verwendet wird?

Warum tritt der Fehler „x509: Zertifikat von unbekannter Stelle signiert' nur unter Windows XP auf, wenn Golang HTTP verwendet wird?

DDD
Freigeben: 2024-11-26 00:47:11
Original
604 Leute haben es durchsucht

Why does

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage