Atom git Fehler

Problem mit git im Atom Editor durch abgelaufenes DST Root CA X3 Zertifikat

Martin Schlüter

3 Minuten

Letzte Tage wollte ich mal wieder den Atom Editor auf Ubuntu nutzen um an einer meiner Webseiten zu arbeiten, aber bereits das “git fetch” des eingebauten git clients schlug fehlt. Das SSL Zertifikat meines gitbucket Servers konnte nicht verifiziert werden. Das “git fetch” auf der Kommandozeile funktionierte problemlos.

Die Fehlerursache

Da nur der integrierte git client im Atom Editor Probleme hatte, aber nicht der normale git client, war klar es war ein Problem des Atom Editors, also schaute ich mir die Fehlermeldung nochmal genau an:

Fehlermeldung des Atom git clients
Fehlermeldung des Atom git clients

fatal: konnte nicht auf '[url des git repository]' zugreifen:
server certificate verification failed.
CAfile: /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/ssl/cacert.pem
CRLfile: none

Hier haben wir also die Fehlermeldung über die fehlgeschlagene Verifizierung des SSL Zertifikates des Servers, und eben welche Zertifikatsdatei dazu verwendet wurden. Und man sieht dass der Atom Editor eine eigene Datei für die Root Zertifikate und nicht die aus dem System verwendet. Das erklärte dann natürlich warum der normale git client funktioniert.

abgelaufenes DST Root CA X3 Zertifikat

Alle Zertifikate bestehen aus einem private key und einem public key, mit dem private key kann man neue Zertifikate signieren und dann das neue Zertifikat mit dem veröffentlichtem public key verifizieren. So gibt es Root Zertifikate auf denen dann ganze Zertifikatsketten basieren, also ein Anbieter lässt sich von einem Root Zertifikat Inhaber ein Firmenzertifikat erstellen und nutzt dies um SSL Zertifikate für Webseiten zu erstellen.

Und die Datei /usr/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/ssl/cacert.pem enthält eben eine Vielzahl solcher Rootzertifikate die der Atom Editor dann für den integrierten git client nutzt.

Ich nutze die kostenlosen SSL Zertifikate von Let’s Encrypt für meine Webseiten, und eines der Root Zertifikate, das DST Root CA X3 Zertifikat, das Let’s Encrypt nutzte ist im September 2021 abgelaufen, war ab dem Zeitpunkt also ungültig. Zur Verifizierung der Let’s Encrypt SSL Zertifikate kann aber auch das noch aktuelle ISRG Root X1 Zertifikat verwendet werden: Let's Encrypt Certificate Compatibility

Fehlerbehebung

Ich schaute mir dann das CAfile des Atom Editor an, und stellte fest dass sowohl das DST Root CA X3 als auch das ISRG Root X1 Zertifikat enthalten ist, aber aus irgendeinem Grund wohl nur das inzwischen ungültige DST Root CA X3 Zertifikat verwendet wurde.

Also habe ich die cacert.pem Datei als root mit einem Texteditor geöffnet, zum DST Root CA X3 Zertifikat gescrollt und dies dann gelöscht und die Datei wieder gespeichert.

DST-Root-CA-X3 Zertifikat in der cacert.pem Datei
DST-Root-CA-X3 Zertifikat in der cacert.pem Datei

Und schon war das Problem gelöst. Im Grunde ein schnell zu behebendes Problem, daher war ich verwundert dass meine Googlesuche nur Lösungen anbot um die System Zertifikate auf einen neuen Stand zu bringen, aber nicht das cacert.pem für den Atom Editor.

(434 Wörter | 3028 Zeichen)

Martins Meinung

Hier blogge ich über verschiedene Themen.