Suivant: Name Service Switch, Précédent: Programmes setuid, Monter: Configuration du système [Table des matières][Index]
Les serveurs web disponibles par HTTPS (c’est-à-dire HTTP sur le mécanisme de la couche de transport sécurisée, TLS) envoient aux clients un certificat X.509 que les clients peuvent utiliser pour authentifier le serveur. Pour cela, les clients vérifient que le certificat du serveur est signé par une autorité de certification (AC ou CA). Mais pour vérifier la signature de la CA, les clients doivent d’abord avoir récupéré le certificat de la CA.
Les navigateurs web comme GNU IceCat incluent leur propre liste de certificats, pour qu’ils puissent vérifier les signatures des CA directement.
Cependant, la plupart des autres programmes qui peuvent parler HTTPS —
wget
, git
, w3m
, etc — doivent savoir où
trouver les certificats des CA.
Dans Guix, cela se fait en ajoutant un paquet qui fournit les certificats
dans le champ packages
de la déclaration operating-system
(voir Référence de operating-system
). Guix inclut l’un de ces paquets,
nss-certs
, qui est un ensemble de certificats de CA fourni par les
services de sécurité réseau de Mozilla (nss).
Remarquez qu’il ne fait pas partie de %base-packages
, donc
vous devez explicitement l’ajouter. Le répertoire /etc/ssl/certs, là
où la plupart des applications et bibliothèques vont rechercher les
certificats par défaut, pointe vers les certificats installés globalement.
Les utilisateurs non privilégiés, dont les utilisateurs de Guix sur une
distro externe, peuvent aussi installer leur propre paquet de certificats
dans leur profil. Un certain nombre de variables d’environnement doivent
être définies pour que les applications et les bibliothèques puissent les
trouver. En particulier, la bibliothèque OpenSSL prend en compte les
variables SSL_CERT_DIR
et SSL_CERT_FILE
. Certaines applications
ajoutent leurs propres variables, par exemple le système de contrôle de
version Git prend en compte le lot de certificats pointé par la variable
d’environnement GIT_SSL_CAINFO
. Ainsi, vous lanceriez quelque chose
comme ceci :
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"
Un autre exemple serait R, qui a besoin que la variable d’environnement
CURL_CA_BUNDLE
pointe sur le lot de certificats, donc vous lanceriez
quelque chose comme ceci :
guix install nss-certs export CURL_CA_BUNDLE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
Pour d’autres applications vous pourriez avoir besoin de chercher la variable d’environnement requise dans leur documentation.
Suivant: Name Service Switch, Précédent: Programmes setuid, Monter: Configuration du système [Table des matières][Index]