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.0.
Téléchargement (HTTP) : http://anduin.linuxfromscratch.org/BLFS/other/make-ca.sh-20170119
Taille du téléchargement : 11 Ko
Somme MD5 du téléchargement : cce9fa4713c4611d9e61f99de612a1e9
Estimation de l'espace disque requis : 4.7 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)
Certificats de CA http://anduin.linuxfromscratch.org/BLFS/other/certdata.txt
Java-1.8.0.121 ou OpenJDK-1.8.0.121 et NSS-3.29
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/cacerts
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, pour permettre à un certificat d'être reconnu pour SSL/TLS et S/Mime, mais explicitement rejeté pour la signature de code, vous pouvez utiliser les commandes suivantes pour créer un nouveau certificat de confiance qui a ces attributs de confiance :
openssl x509 -in MyRootCA.pem -text -fingerprint -setalias "My Root CA 1" \
-addtrust serverAuth -addtrust emailProtection -addreject codeSigning \
> MyRootCA-trusted.pem
Si un argument trust en omis, le certificat n'est ni reconnu ni
rejeté. 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, au minimum, avoir la
confiance serverAuth
.
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-20170119 /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.
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.29. Des emplacements de téléchargement
supplémentaires sont disponibles :
Mozilla Release (la version fournie par BLFS) : https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
NSS (c'est la dernière version disponible) : https://hg.mozilla.org/projects/nss/raw-file/tip/lib/ckfw/builtins/certdata.txt
Mozilla Central : https://hg.mozilla.org/mozilla-central/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
Mozilla Beta : https://hg.mozilla.org/releases/mozilla-beta/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
Mozilla Aurora : https://hg.mozilla.org/releases/mozilla-aurora/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
Last updated on 2017-02-15 07:04:32 +0100