Next: , Previous: , Up: Configuración del sistema   [Contents][Index]


12.11 Certificados X.509

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]