Nächste: Name Service Switch, Vorige: Privilegierte Programme, Nach oben: Systemkonfiguration [Inhalt][Index]
Ü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.
Wenn Sie Guix System benutzen, 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.
Das Paket gehört zu den %base-packages
, Sie müssen es also
nicht ausdrücklich hinzufügen. 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: Name Service Switch, Vorige: Privilegierte Programme, Nach oben: Systemkonfiguration [Inhalt][Index]