Next: Selector de servicios de nombres, Previous: Programas con setuid, Up: Configuración del sistema [Contents][Index]
En las conexiones HTTPS a servidores Web (esto es, HTTP sobre el mecanismo de seguridad de la capa de transporte, TLS) se envía a los programas clientes un certificado X.509 que el cliente puede usar para autentificar al servidor. Para hacerlo, los clientes verifican que el certificado del servidor está firmado por una de las llamadas autoridades de certificación (AC, CA en inglés). Pero para verificar la firma de una AC, los clientes deben haber obtenido previamente el certificado de dicha AC.
Los navegadores Web como GNU IceCat incluyen su propio conjunto de certificados de AC, de manera que pueden verificar las firmas independientemente.
No obstante, a la mayor parte de otros programas que pueden comunicarse a
través de HTTPS—wget
, git
, w3m
, etc.—se
les debe informar de dónde pueden encontrar los certificados de CA.
En Guix, esto se lleva a cabo mediante la adición de un paquete que
proporcione certificados en el campo packages
de la declaración
operating-system
(see Referencia de operating-system
). Guix incluye
un paquete de este tipo, nss-certs
, compuesto por un conjunto de
certificados de CA proporcionados como parte de los servicios de seguridad
de red de Mozilla (NSS).
Fíjese que no es parte de %base-packages
, por lo que debe ser
añadido explícitamente. El directorio /etc/ssl/certs, donde la mayor
parte de las aplicaciones y bibliotecas buscarán los certificados de manera
predeterminada, enlaza a los certificados instalados de manera global.
Las usuarias sin privilegios, incluyendo a usuarias de Guix en una
distribución distinta, pueden también instalar su propio paquete de
certificados en su perfil. Es necesario definir cierto número de variables
de entorno de manera que las aplicaciones y bibliotecas sepan dónde
encontrarlos. Por ejemplo, la biblioteca OpenSSL inspecciona las variables
SSL_CERT_DIR
y SSL_CERT_FILE
. Algunas aplicaciones añaden sus
variables de entorno propias; por ejemplo, el sistema de control de
versiones Git inspecciona el empaquetado de certificados al que apunta la
variable de entorno GIT_SSL_CAINFO
. Por tanto, en el caso típico se
debe ejecutar algo parecido a esto:
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"
Como otro ejemplo, R necesita que la variable de entorno
CURL_CA_BUNDLE
apunte al empaquetado de certificados, de manera que se
debe ejecutar algo parecido a esto:
guix install nss-certs export CURL_CA_BUNDLE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt"
Para otras aplicaciones puede tener que buscar la variable de entorno necesaria en la documentación relevante.
Next: Selector de servicios de nombres, Previous: Programas con setuid, Up: Configuración del sistema [Contents][Index]