ubuntuusers.de

GIT gnutls_handshake() failed:

Status: Ungelöst | Ubuntu-Version: Server 18.04 (Bionic Beaver)
Antworten |

smoli

Anmeldungsdatum:
25. Dezember 2018

Beiträge: Zähle...

Hallo Forum,

ich habe GITEA als privates GIT mit SelfSigned Zertifikaten am Laufen.

Ich kann von meinem Win10 Client problemlos auf das GIT zugreifen, wenn ich folgendes Config Flag setze:

git config --global http.sslVerify false

Dabei ist es egal, ob ich den sslVerify global oder nur für ein bestimmtes repository deaktiviere.

Nun würde ich erwarten, dass dies bei meinem Ubuntu Server ebenfalls funktioniert. Dem ist aber leider nicht so. Beim gleichen Versuch, auf das GIT zuzugreifen bekomme ich folgende Fehlermeldung:

fatal: unable to access 'https://git.traefik.home/smolit/gitea-home.git/': gnutls_handshake() failed: Key usage violation in certificate has been detected.

Kann mir jemand sagen, warum der GIT-Client unter Ubuntu den Flag ignoriert?

Danke und Grüße

Sebastian

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13211

smoli schrieb:

fatal: unable to access 'https://git.traefik.home/smolit/gitea-home.git/': gnutls_handshake() failed: Key usage violation in certificate has been detected.

Kann mir jemand sagen, warum der GIT-Client unter Ubuntu den Flag ignoriert?

Das muss es nicht sein. Es kann auch sein, dass er strikter prüft - zumindest sieht mir die Fehlermeldung so aus. Man kann die beabsichtigte Verwendung in einem Zertifikat vermerken und dann gibt es u.U auf die Finger, wenn man es anders nutzt. Ich habe gerade kein git da, aber stell doch mal die Debug- oder Verbose-Einstellung ein, wenn Du das machst, um zu sehen, was da passiert.

smoli

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2018

Beiträge: 4

Hallo rklm,

danke für die Info. Mit Debug/Verbose bekomme ich folgenden Output:

seb@docker1:~/code/test$ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push -u origin master
13:00:09.641873 git.c:344               trace: built-in: git push -u origin master
13:00:09.643262 run-command.c:646       trace: run_command: GIT_DIR=.git git-remote-https origin https://git.traefik.home/smolit/Test.git
* Couldn't find host git.traefik.home in the .netrc file; using defaults
*   Trying 192.168.160.5...
* TCP_NODELAY set
* Connected to git.traefik.home (192.168.160.5) port 443 (#0)
* found 133 certificates in /etc/ssl/certs/ca-certificates.crt
* found 399 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: Key usage violation in certificate has been detected.
* stopped the pause stream!
* Closing connection 0
fatal: unable to access 'https://git.traefik.home/smolit/Test.git/': gnutls_handshake() failed: Key usage violation in certificate has been detected.

Mein Wissen reicht leider nicht aus, daraus jetzt schlauer zu werden. 😉

Eine Sache verstehe ich aber grundsätzlich immer noch nicht. Warum zieht die Option, SSL Zertifikate zu ignorieren nicht.

Wenn ich die GTI URL per "curl --insecure" aufrufe, wird das ungültige Zertifikat ignoriert.

Ebenso mit meinem Win10 GIT-Client, der per "git config --global http.sslVerify false" wie erwartet ebenfalls das ungültige Zertifikat ignoriert.

Grüße

Sebastian

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13211

smoli schrieb:

Mein Wissen reicht leider nicht aus, daraus jetzt schlauer zu werden. 😉

Leider sind da ja auch keine weiteren SSL-Fehler, die die Sache erhellen könnten. Du könntest es mal damit versuchen:

1
openssl s_client -connect git.traefik.home:443 -state </dev/null

Vielleicht auch mal mit Option "-verify_return_error" und / oder "-showcerts".

Eine Sache verstehe ich aber grundsätzlich immer noch nicht. Warum zieht die Option, SSL Zertifikate zu ignorieren nicht.

Wenn ich die GTI URL per "curl --insecure" aufrufe, wird das ungültige Zertifikat ignoriert.

Ebenso mit meinem Win10 GIT-Client, der per "git config --global http.sslVerify false" wie erwartet ebenfalls das ungültige Zertifikat ignoriert.

Eine mögliche Erklärung wäre eine andere Einstellung für die spezielle Domain oder das aktuelle Repo, die den globalen Wert von "http.sslVerify" überschreibt.

smoli

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2018

Beiträge: 4

Ich habe folgenden Befehl ausgeführt:

openssl s_client -connect git.traefik.home:443 -state </dev/null

Der Output ist etwas zu groß, um ihn hier zu posten. Ich haben ihn als Anhang hinzugefügt. Leider konnte ich keine Hinweise aus mein Problem finden. Ich bin jetzt allerdings den Weg gegangen, selbst Zertifikate zu erstellen und diese zu importieren. Ich bin dabei nach folgender Anleitung vorgegangen: https://thomas-leister.de/selbst-signierte-tls-zertifikate-mit-eigener-ca/

Damit kann ich jetzt zumindest mein privates GIT nutzen.

Vielen Dank erst mal für die Hilfe.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13211

smoli schrieb:

Der Output ist etwas zu groß, um ihn hier zu posten. Ich haben ihn als Anhang hinzugefügt.

Leider nicht.

Vielen Dank erst mal für die Hilfe.

Bitte.

smoli

(Themenstarter)

Anmeldungsdatum:
25. Dezember 2018

Beiträge: 4

Ups, da ist beim Upload wohl etwas schief gegangen. Sorry!

ssl.txt (4.4 KiB)
Output SSL Troubleshooting
Download ssl.txt

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13211

smoli schrieb:

Ups, da ist beim Upload wohl etwas schief gegangen. Sorry!

Ich sehe nur:

Verification error: self signed certificate

Das hat aber keine Ähnlichkeit mit dem ursprünglichen

Key usage violation in certificate has been detected.

Hm...

Antworten |