Gemeinsame Systemzertifikate verwenden

NITISH SHARMA, Mirek Jahoda, Petr Bokoc Version F31 and newer Last review: 2020

Der gemeinsame Speicher für Systemzertifikate („Shared System Certificates Storage“) ermöglicht es NSS, GnuTLS, OpenSSL und Java, eine gemeinsame Standardquelle für den Abruf von Systemzertifikatsankern und Informationen aus der Sperrliste zu nutzen. Standardmäßig enthält der Vertrauensspeicher die Mozilla-CA-Liste, einschließlich positiver und negativer Vertrauenswürdigkeiten. Das System erlaubt die Aktualisierung der Mozilla-CA-Liste oder die Auswahl einer anderen Zertifikatsliste.

Den systemweiten Trust Store verwenden

In Fedora befindet sich der zentrale systemweite Truststore in den Verzeichnissen /etc/pki/ca-trust/ und /usr/share/pki/ca-trust-source/. Die Trust-Einstellungen in /usr/share/pki/ca-trust-source/ werden mit niedrigerer Priorität verarbeitet als die Einstellungen in /etc/pki/ca-trust/.

Zertifikatsdateien werden je nach dem Unterverzeichnis, in dem sie installiert sind, in die folgenden Verzeichnisse behandelt:

  • für Vertrauensanker

    • /usr/share/pki/ca-trust-source/anchors/ oder

    • /etc/pki/ca-trust/source/anchors/

  • für nicht vertrauenswürdige Zertifikate

    • /usr/share/pki/ca-trust-source/blocklist/ oder

    • /etc/pki/ca-trust/source/blocklist/

  • für Zertifikate im erweiterten „BEGIN TRUSTED“-Dateiformat

    • /usr/share/pki/ca-trust-source/ oder

    • /etc/pki/ca-trust/source/

In einem hierarchischen kryptografischen System ist ein Vertrauensanker eine autoritative Instanz, die als vertrauenswürdig gilt. Beispielsweise ist in der X.509-Architektur ein Root-Zertifikat ein solcher Vertrauensanker, von dem eine Vertrauenskette abgeleitet wird. Der Vertrauensanker muss dem vertrauenden Akteur vorab zur Verfügung gestellt werden, um die Pfadvalidierung zu ermöglichen.

Neue Zertifikate hinzufügen

Systemadministratoren möchten häufig ein Zertifikat im Truststore installieren. Dies kann mit dem Unterbefehl trust anchor des Befehls trust erfolgen, wie in Vertrauenswürdige Systemzertifikate verwalten beschrieben.

Alternativ können Sie die Zertifikatsdatei einfach im PEM- oder DER-Dateiformat in das Verzeichnis /etc/pki/ca-trust/source/anchors/ kopieren und anschließend den Befehl update-ca-trust ausführen, zum Beispiel:

# cp ~/certificate-trust-examples/Cert-trust-test-ca.pem /etc/pki/ca-trust/source/anchors/
# update-ca-trust

Der Befehl update-ca-trust stellt sicher, dass die Zertifikatspakete in anwendungsspezifischen Formaten, wie z. B. Java-Keystore, neu generiert werden.

Die in den obigen Schritten installierten Zertifikate können nicht mit dem Befehl trust anchor --remove entfernt werden.

Obwohl der Firefox-Browser ein hinzugefügtes Zertifikat auch ohne Ausführung des Befehls update-ca-trust verwenden kann, wird empfohlen, diesen Befehl nach einer Änderung der Zertifizierungsstelle auszuführen. Beachten Sie außerdem, dass Browser wie Firefox, Epiphany oder Chromium Dateien zwischenspeichern. Möglicherweise müssen Sie den Browser-Cache leeren oder den Browser neu starten, um die aktuelle Systemzertifikatskonfiguration zu laden.

Vertrauenswürdige Systemzertifikate verwalten

Um Vertrauensanker aufzulisten, zu extrahieren, hinzuzufügen, zu entfernen oder zu ändern, verwenden Sie den Befehl trust. Um die integrierte Hilfe für diesen Befehl anzuzeigen, geben Sie ihn ohne Argumente oder mit der Option --help ein:

$ trust
usage: trust command <args>...

Gängige Trust-Befehle sind:
  list: Trusts oder Zertifikate auflisten
  extract: Zertifikate und Trusts extrahieren
  extract-compat: Trust-Kompatibilitätspakete extrahieren
  anchor: Vertrauensanker hinzufügen, entfernen oder ändern
  dump: Trust-Objekte im internen Format ausgeben

Siehe 'trust <Befehl> --help' für weitere Informationen

Um alle Systemvertrauensanker und Zertifikate aufzulisten, verwenden Sie den Befehl trust list:

$ trust list
pkcs11:id=%d2%87%b4%e3%df%37%27%93%55%f6%56%ea%81%e5%36%cc%8c%1e%3f%bd;type=cert
    type: certificate
    label: ACCVRAIZ1
    trust: anchor
    category: authority

pkcs11:id=%a6%b3%e1%2b%2b%49%b6%d7%73%a1%aa%94%f5%01%e7%73%65%4c%ac%50;type=cert
    type: certificate
    label: ACEDICOM Root
    trust: anchor
    category: authority
...
[output has been truncated]

Um einen Vertrauensanker im systemweiten Vertrauensspeicher zu speichern, verwenden Sie den Unterbefehl trust anchor und geben Sie einen Pfad zu (path.to) einem Zertifikat an, zum Beispiel:

# trust anchor path.to/certificate.crt

Um ein Zertifikat zu entfernen, verwenden Sie entweder einen Pfad zu (path.to) einem Zertifikat oder eine ID eines Zertifikats:

# trust anchor --remove path.to/certificate.crt
# trust anchor --remove "pkcs11:id=%AA%BB%CC%DD%EE;type=cert"
Weitere Informationen

Alle Unterbefehle der trust-Befehle bieten eine detaillierte integrierte Hilfe, zum Beispiel:

$ trust list --help
usage: trust list --filter=<what>

  --filter=<what>     filter of what to export
                        ca-anchors        certificate anchors
                        blacklist         blacklisted certificates
                        trust-policy      anchors and blacklist (default)
                        certificates      all certificates
                        pkcs11:object=xx  a PKCS#11 URI
  --purpose=<usage>   limit to certificates usable for the purpose
                        server-auth       for authenticating servers
                        client-auth       for authenticating clients
                        email             for email protection
                        code-signing      for authenticating signed code
                        1.2.3.4.5...      an arbitrary object id
  -v, --verbose       show verbose debug output
  -q, --quiet         suppress command output

Weitere Ressourcen

Weitere Informationen finden Sie in den folgenden Handbuchseiten:

  • update-ca-trust(8)

  • trust(1)