Wie installiert man ein benutzerdefiniertes CA-Zertifikat unter CentOS?

17

Ich versuche, ein Zertifikat für meinen internen Zertifikatsserver auf einer Reihe von CentOS-Systemen zu installieren, und finde die Dokumentation dazu so gut wie nicht vorhanden.

Mein Endziel ist es, zu verwenden git, curlund andere gegen internen sicheren Server ohne Fehler.

Unter Ubuntu ist es einfach genug, das Zertifikat in einen Ordner zu werfen und einen Befehl auszuführen, um eine Reihe von Links zu generieren, mit denen das CA-Zertifikat dem Zertifizierungspfad hinzugefügt wird.

Ich kann für mein ganzes Leben nicht herausfinden, wie das auf CentOS gemacht wird. Über vertrauenswürdige Zufallszertifikate sind viele Informationen verfügbar. (Das heißt: Erstellen Sie einen Symlink in /etc/pki/tls/certsder PEM-codierten Zertifizierungsdatei, die mit dem Hash des Zertifikats benannt ist. Funktionierte nicht für meine Zertifizierungsstelle, da die oben genannten Apps ein von der Zertifizierungsstelle signiertes Zertifikat immer noch nicht überprüfen können.)

Wie installiere ich eine neue Stammzertifizierungsstelle auf einem CentOS-System?

Mikey TK
quelle

Antworten:

17

Ab CentOS 6+ gibt es dafür ein Tool. Gemäß diesem Handbuch können Zertifikate zuerst installiert werden, indem der gemeinsam genutzte CA-Speicher des Systems aktiviert wird:

update-ca-trust enable

Stellen Sie dann die Zertifikate als Zertifizierungsstellen /etc/pki/ca-trust/source/anchors/für die hohe Priorität (nicht überschreibbar) oder /usr/share/pki/ca-trust-source/(niedrigere Priorität, überschreibbar) als vertrauenswürdig ein und aktualisieren Sie den Systemspeicher schließlich mit:

update-ca-trust extract

Et voila, System-Tools vertrauen diesen Zertifikaten jetzt, wenn sie sichere Verbindungen herstellen!

Mikey TK
quelle
6
Ich empfehle Ihnen, dass Sie drei Jahre später mit einer Lösung zurückkommen. Vielen Dank.
Duncan X Simpson
1

Leider gibt es in CentOS keine einzige zentrale Möglichkeit, dies zu tun. Ich habe viel Zeit damit verbracht, dasselbe zu erreichen. Der primäre pki tls-Zertifikatspeicher wird häufig, aber definitiv nicht für alles verwendet.

Meine Lösung bestand darin, ein Puppet-Modul zu verwalten, das einen aktualisierten Zertifikatspeicher an jeden Standort schiebt, der pro Produkt verwendet wird. Die Grundlogik ist, wenn ein bestimmtes Geschäft existiert, meinen benutzerdefinierten Eintrag hinzuzufügen.

Dies ist nicht perfekt - einige von mir bereitgestellte Tomcat-Instanzen verfügen über eine interne Java-Installation mit einem nicht standardmäßigen cacerts-Verzeichnis, das jedoch die meisten meiner Anforderungen erfüllt.

Tim Brigham
quelle