Einführung und Funktionsweise
Das Hilfswerkzeug c_rehash erfüllt innerhalb von OpenSSL-Umgebungen eine wesentliche Aufgabe: Es analysiert Zertifikatsdateien in einem Zielverzeichnis und erzeugt daraus selbsttätig hashbasierte symbolische Verknüpfungen. Anstatt bei jeder TLS-Verbindung Ordner sequenziell zu durchsuchen, greifen Webserver, Mail-Dienste und Validierungstools direkt über vorberechnete Hash-Indizes auf die Zertifikate zu. Dieser Praxisleitfaden beleuchtet die Funktionsweise von c_rehash und demonstriert die Konfiguration anhand eines nachvollziehbaren Workflows.
Grundlagen zu c_rehash und Paketinstallation
Bevor das Dienstprogramm eingesetzt werden kann, bringen wir den lokalen Paketindex auf den neuesten Stand und verifizieren das Vorhandensein der OpenSSL-Tools:

Über das Dienstprogramm which lässt sich ermitteln, wo die Binär- bzw. Skriptdatei im Dateisystem hinterlegt ist:

Technisch gesehen scannt c_rehash alle PEM-Dateien eines Verzeichnisses, extrahiert deren Subject-Hash und verlinkt die Zertifikate unter diesem Hash-Wert. Die integrierte Hilfefunktion via -h fasst die wesentlichen Steuerungsparameter zusammen:
⚙️ Wichtige Optionen im Überblick
-h: Zeigt die Befehlssyntax sowie eine kompakte Parameterübersicht an.-v: Aktiviert ausführliche Meldungen (Verbose-Modus) zu gelöschten und neu angelegten Symlinks.-old: Berechnet Hashwerte nach dem älteren Schema früherer OpenSSL-Versionen (vor Release 1.0.0).-n: Verhindert das standardmäßige Bereinigen bestehender symbolischer Verknüpfungen vor dem Neuerstellen.

Testzertifikate erstellen und Hash-Symlinks generieren
Für ein sicheres Experimentieren ohne Auswirkungen auf Produktivdateien erzeugen wir zunächst einen isolierten Testordner:

Anschließend erstellen wir mittels openssl req ein erstes selbstsigniertes X.509-Zertifikat nebst dazugehörigem privaten RSA-Schlüssel:

Vor dem Ausführen der Verlinkung empfiehlt sich ein Kontrollblick auf den Verzeichnisinhalt über ls -l:

Nun übergeben wir das Verzeichnis als Parameter an c_rehash, damit das Tool das Zertifikat indiziert und die Verknüpfung einrichtet:

Ein erneuter Verzeichnisaufruf belegt die erfolgreiche Ausführung: Es existiert nun ein symbolischer Link in Form eines 8-stelligen Hex-Werts mit der Endung .0, welcher unmittelbar auf cert.pem zeigt:

Verbose-Modus analysieren und Hashwerte verifizieren
In Administrationsszenarien werden Zertifikatsspeicher regelmäßig um neue Zertifizierungsstellen erweitert. Um diesen Vorgang nachzustellen, generieren wir ein zweites Zertifikatspaar (cert2.pem / key2.pem):

Rufen wir nun c_rehash mit der Option -v auf, wird der gesamte Ablauf im Terminal transparent: Das Tool dereferenziert alte Verknüpfungen (unlink) und baut die Index-Links sowohl für das bestehende als auch für das neu hinzugekommene Zertifikat sauber auf (link):

Um nachzuvollziehen, woher der Dateiname des Symlinks stammt, berechnen wir den Subject-Hash von cert.pem direkt über das OpenSSL-Subkommando x509:
Der ermittelte Wert (a61fdd91) entspricht exakt dem Präfix des generierten Links (a61fdd91.0), was die korrekte Indizierung bestätigt.

Systemweites Zertifikatsverzeichnis und Bereinigung
Unter Ubuntu dient /etc/ssl/certs als zentrales Sammelbecken für globale CA-Zertifikate, auf welches Systemdienste und c_rehash standardmäßig zurückgreifen. Die Zugriffsrechte dieses Systempfads lassen sich mittels ls -ld einsehen:

Nach Abschluss der Tests entfernen wir das temporäre Arbeitsverzeichnis restlos vom Dateisystem:

Mit c_rehash steht Systembetreuern ein verlässliches Werkzeug zur Verfügung, um Zertifikatsspeicher konsistent und performant zu verwalten. Durch die automatische Generierung von Hash-Symlinks entfällt manueller Pflegeaufwand, während Anwendungen auf Zertifikate stets ohne Verzögerung zugreifen können.