2016-11-24 1 views
-1

Ich habe keine richtige Lösung gefunden, also rufen Sie einfach eine URL von Golang auf MacOS Sierra, zu einem Server, der selbst signierten SSL-Zertifikat verwendet.Verwenden Sie selbst-signierte SSL mit http.Get in Golang auf MacOS

Ich versuche, ein Programm zu starten, das https://github.com/olivere/elastic verwendet, das die http-Abfrage ausführt, also habe ich "Kontrolle" auf Code-Quelle wirklich nicht.

ich nach einer Lösung suchen, wie:

  • Deaktivieren Sie die SSL-Check für unterwegs durch eine Bash variable Einstellung (? Export GOLANG_SSL = false)
  • Set selbstsignierten certif golang

Oder jede andere Idee ist willkommen!

Merci,

+4

Dup [dieser] (http://stackoverflow.com/q/12122159/1892060)? –

+1

Wenn Sie über die Funktion NewClient sprechen, sollten Sie einen PR senden, der ein OptionFunc https://godoc.org/gopkg.in/olivere/elastic.v5#ClientOptionFunc hinzufügt - mit dem InsecureSkipVerify für das zugrunde liegende http auf true gesetzt werden kann. Klient. Noch besser: eine Option, mit der der Paketbenutzer seinen eigenen http.Client bereitstellen kann. – elithrar

+0

Elithrar hat Recht. Mit SetHttpClient können Sie "InsecureSkipVerify" festlegen und die Überprüfung von Zertifikaten ignorieren. Aber was noch nicht erwähnt wurde, ist, dass der neue Golang 1.8 es erlaubt, selbstsigniertes Zertifikat als root als Zertifikatskette zu setzen (selbstsigniertes Zertifikat in RootCAs in Transport.TLSClientConfig. – lofcek

Antwort

-1

Sie sollen (Vertrauen) das selbst signiertes Zertifikat in dem Host-Betriebssystem installieren, die das Go-Client läuft.

Es gibt kein "Selbstsigniertes Zertifikat für Golang festlegen", sondern "Selbstsigniertes Zertifikat für Betriebssystem festlegen".

Was, wie das zu tun, wird es davon abhängen, welches OS Sie auf dem Client-Rechner laufen lassen, aber eine schnelle Google-Suche können Ihnen dabei helfen: install self-signed certificate in Windows/Linux/MacOS/FreeBSD/etc...

+0

Das ist nicht Arbeiten auf MacOS, wissen Problem, aber nicht wirklich gelöst. danke –

+0

Sie müssen nie ein Zertifikat über das Betriebssystem installieren, um es als eine CA für eine TLS-Verbindung zu verwenden .. – JimB

+0

@ JimB Ich weiß, ich würde nie einen Dienst verwenden, der funktioniert ein selbstsigniertes Zertifikat, aber der Autor erwähnte, dass er KEINEN Zugang zum Quellcode hat. – peiiion

Verwandte Themen