Nächste: Name Service Switch, Vorige: Setuid-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.
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: Name Service Switch, Vorige: Setuid-Programme, Nach oben: Systemkonfiguration [Inhalt][Index]