Nächste: , Vorige: , Nach oben: Systemkonfiguration   [Inhalt][Index]


8.10 X.509-Zertifikate

Über HTTPS verfügbare Webserver (also HTTP mit gesicherter Transportschicht, englisch „Transport-Layer Security“, kurz TLS) senden Client-Programmen ein X.509-Zertifikat, mit dem der Client den Server dann authentifizieren kann. Dazu verifiziert der Client, dass das Zertifikat des Servers von einer sogenannten Zertifizierungsstelle signiert wurde (Certificate Authority, kurz CA). Damit er aber die Signatur der Zertifizierungsstelle verifizieren kann, muss jeder Client das Zertifikat der Zertifizierungsstelle besitzen.

Web-Browser wie GNU IceCat liefern ihre eigenen CA-Zertifikate mit, damit sie von Haus aus Zertifikate verifizieren können.

Den meisten anderen Programmen, die HTTPS sprechen können — wget, git, w3m etc. — muss allerdings erst mitgeteilt werden, wo die CA-Zertifikate installiert sind.

In Guix müssen Sie dazu ein Paket, das Zertifikate enthält, in das packages-Feld der operating-system-Deklaration des Betriebssystems hinzufügen (siehe „operating-system“-Referenz). Guix liefert ein solches Paket mit, nss-certs, was als Teil von Mozillas „Network Security Services“ angeboten wird.

Beachten Sie, dass es nicht zu den %base-packages gehört, Sie es also ausdrücklich hinzufügen müssen. Das Verzeichnis /etc/ssl/certs, wo die meisten Anwendungen und Bibliotheken ihren Voreinstellungen entsprechend nach Zertifikaten suchen, verweist auf die global installierten Zertifikate.

Unprivilegierte Benutzer, wie die, die Guix auf einer Fremddistribution benutzen, können sich auch lokal ihre eigenen Pakete mit Zertifikaten in ihr Profil installieren. Eine Reihe von Umgebungsvariablen muss dazu definiert werden, damit Anwendungen und Bibliotheken wissen, wo diese Zertifikate zu finden sind. Und zwar folgt die OpenSSL-Bibliothek den Umgebungsvariablen SSL_CERT_DIR und SSL_CERT_FILE, manche Anwendungen benutzen stattdessen aber ihre eigenen Umgebungsvariablen. Das Versionskontrollsystem Git liest den Ort zum Beispiel aus der Umgebungsvariablen GIT_SSL_CAINFO aus. Sie würden typischerweise also so etwas ausführen:

$ guix install nss-certs
$ export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs"
$ export SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
$ export GIT_SSL_CAINFO="$SSL_CERT_FILE"

Ein weiteres Beispiel ist R, was voraussetzt, dass die Umgebungsvariable CURL_CA_BUNDLE auf ein Zertifikatsbündel verweist, weshalb Sie etwas wie hier ausführen müssten:

$ guix install nss-certs
$ export CURL_CA_BUNDLE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"

Für andere Anwendungen möchten Sie die Namen der benötigten Umgebungsvariablen vielleicht in deren Dokumentation nachschlagen.


Nächste: , Vorige: , Nach oben: Systemkonfiguration   [Inhalt][Index]