Certificats d'autorité de certification

Une Infrastructure à Clés Publiques (PKI) est une méthode pour valider l'authenticité d'une entité autrement inconnue au travers de réseaux qui ne sont pas de confiance. La PKI fonctionne en établissant une chaîne de confiance, plutôt que de faire confiance individuellement à chaque hôte ou entité de manière explicite. Pour qu'un certificat présenté par une entité distante soit reconnu, le certificat doit présenter une chaîne complète de certificats qui peuvent être validé en utilisant le certificat racine d'une autorité de certification (CA) en laquelle la machine locale a confiance.

L'établissement de la confiance avec une CA nécessite de valider des choses comme l'adresse de la compagnie, la propriété, les informations de contact, etc, et de s'assurer que la CA a suivi les bonnes pratiques, comme des audits de sécurité périodiques par des enquêteurs indépendants et le maintient d'une liste de révocation de certificats toujours disponible. Ceci est bien au delà de la portée de BLFS (comme pour la plupart des distributions Linux). Le magasin de certificats fournit ici est emprunté à la fondation Mozilla, qui ont établit une politique d'inclusion très stricte décrite ici.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.1.

Introduction à Certificate Authorities

Informations sur le paquet

  • Téléchargement (HTTP) : http://anduin.linuxfromscratch.org/BLFS/other/make-ca.sh-20170514

  • Taille du téléchargement : 24 Ko

  • Somme MD5 du téléchargement : a21a04d6ff5c4645c748220dbaa9f221

  • Estimation de l'espace disque requis : 6.5 Mo (avec toutes les dépendances à l'exécution)

  • Estimation du temps de construction : 0.2 SBU (avec toutes les dépendances à l'exécution)

Téléchargements supplémentaires

Dépendances de Certificate Authority Certificates

Requises

OpenSSL-1.1.0f

Facultatives (exécution)

Java-1.8.0.141 ou OpenJDK-1.8.0.141, NSS-3.32 et p11-kit-0.23.8

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/cacerts

Installation de Certificate Authority Certificates

Le script make-ca.sh adaptera les certificats inclus dans le fichier certdata.txt pour l'utiliser dans de multiples magasins de certificats (si les applications associées sont présentes sur le système). De plus, tout certificat local stocké dans /etc/ssl/local sera importé dans les magasins de certificats. Les certificats de ce répertoire devraient être stockés sous forme de certificats de confiance OpenSSL encodé en PEM.

Pour créer un certificat de confiance OpenSSL depuis un fichier normal encodé en PEM fournit par une CA qui n'est pas incluse dans la distribution de certificats de Mozilla, vous devrez ajouter des arguments « trust » à la commande openssl et créer un nouveau certificat. Il y a trois types de confiances qui sont reconnues par le script make-ca.sh : SSL/TLS, S/Mime et la signature de code. Par exemple, si vous souhaitez utiliser la racine de CAcert pour qu'elle soit de confiance pour ces trois rôles, les commandes suivantes créent un nouveau certificat de confiance OpenSSL approprié :

install -vdm755 /etc/ssl/local &&
wget http://www.cacert.org/certs/root.crt &&
openssl x509 -in root.crt -text -fingerprint -setalias "CAcert Class 1 root" \
        -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \
        > /etc/ssl/local/CAcert_Class_1_root.pem

Si un argument trust en omis, le certificat n'est ni reconnu ni rejeté pour ce rôle. Les clients qui utilisent OpenSSL ou NSS rencontrant ce certificat renverront un avertissement à l'utilisateur . Les clients qui utilisent GnuTLS sans le support de p11-kit ne sont pas conscient des certificats de confiance. Pour inclure cette CA dans le fichier ca-bundle.crt (utilisé par GnuTLS), il doit avoir la confiance serverAuth. De plus, pour interdire un certificat pour une utilisation particulière, remplacez le paramètre -addtrust par le paramètre -addreject.

Pour installer les divers magasins de certificats, installez le script make-ca.sh au bon endroit. En tant qu'utilisateur root :

install -vm755 make-ca.sh-20170514 /usr/sbin/make-ca.sh

En tant qu'utilisateur root, assurez-vous que certdata.txt est dans le répertoire courant, et mettez à jour le magasin de certificats avec la commande suivante :

/usr/sbin/make-ca.sh

Vous devriez télécharger régulièrement une copie de certdata.txt et lancer le script make-ca.sh (en tant qu'utilisateur root), ou en tant que tâche cron mensuelle pour vous assurer d'avoir la dernière version disponible des certificats.

[Note]

Note

Si vous lancez le script une deuxième fois avec la même version de certdata.txt, par exemple pour ajouter des magasins supplémentaires parce que le logiciel requis est installé, ajoutez l'option -f à la ligne de commande. Si vous créez un paquet, lancez make-ca.sh --help pour voir toutes les options de la ligne de commande disponibles.

Le fichier certdata.txt fournit par BLFS est obtenu à partir de la branche mozilla-release, et est modifié pour fournir une simple révision horodatée. Ce sera la bonne version pour la plupart des systèmes. Il y a cependant plusieurs variantes du fichier disponibles à l'utilisation qui peuvent être préférés pour une raison ou une autre, incluses dans les produits Mozilla dans ce livre. RedHat et OpenSUSE par exemple utilisent la version incluse dans NSS-3.32. Des emplacements de téléchargement supplémentaires sont disponibles :

Contenu

Programmes installés: make-ca.sh
Bibliothèques installées: Aucune
Répertoires installés: /etc/ssl/{certs,java,local} et /etc/pki/{nssdb,anchors}

Descriptions courtes

make-ca.sh

est un script shell qui adapte une version actuelle de certdata.txt et le prépare pour l'utiliser comme magasin de certificat du système.

Last updated on 2017-08-17 06:41:37 +0200