254 votes

Comment ajouter une autorité de certification (CA) à Ubuntu ?

Mon travail a décidé de publier son propre autorité de certification (CA) pour traiter différents aspects de notre travail en toute sécurité, sans avoir à payer pour des certificats.

  • Signature cryptographique des courriels
  • Cryptage du contenu des e-mails
  • Accédez à des éléments tels que l'entreprise IRC basé sur le certificat du client.
  • Révoquer automatiquement les clés des anciens employés

Ils m'ont envoyé un .pem et je ne sais pas comment l'ajouter à mon installation Ubuntu. Les instructions envoyées étaient les suivantes : "Double-cliquer dessus sur un Mac devrait l'installer."  

Comment dois-je procéder ? Dois-je faire quelque chose avec OpenSSL pour créer un .key , .csr ou .crt fichier ?

10 votes

Le commentaire "Les instructions envoyées étaient : \"Double-cliquer dessus sur un Mac devrait l'installer."" a illuminé ma journée.

0 votes

@mzoll et la façon d'échapper à ces guillemets

9voto

wheeler Points 251

En s'appuyant sur l'article de dwmw2 Antwort En fait, vous pouvez dire aux applications qui utilisent le NSS pour la gestion des certificats d'utiliser le magasin de confiance du système.

libnss3 est livré par défaut avec un ensemble de certificats d'autorité de certification racine en lecture seule ( libnssckbi.so ), de sorte que la plupart du temps, vous devez les ajouter manuellement vous-même au magasin de confiance de l'utilisateur local situé dans le répertoire $HOME/.pki/nssdb . p11-kit offre une solution de remplacement pour libnssckbi.so qui fait office d'adaptateur aux certificats racine du système installés dans le répertoire /etc/ssl/certs .

Edit :

Il semble y avoir plus de versions de libnssckbi.so à l'extérieur qu'à l'intérieur libnss3 . Ce qui suit est un script pour les trouver tous, les sauvegarder et les remplacer par des liens vers p11-kit :

sudo apt-get update && sudo apt-get install -y p11-kit libnss3
find / -type f -name "libnssckbi.so" 2>/dev/null | while read line; do
    sudo mv $line ${line}.bak
    sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so $line
done

Instructions originales :

Pour ce faire, installez p11-kit y libnss3 (s'ils ne sont pas déjà installés) :

sudo apt-get update && sudo apt-get install -y p11-kit libnss3

Ensuite, sauvegardez les données existantes libnssckbi.so fourni par libnss3 :

sudo mv /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so.bak

Enfin, créez le lien symbolique :

sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so

Pour confirmer que cela a fonctionné, vous pouvez exécuter ll /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so et il devrait afficher le lien :

lrwxrwxrwx 1 root root 49 Apr  9 20:28 /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so -> /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so

Maintenant, si vous ajoutez un certificat au magasin de l'AC en utilisant update-ca-certificates ces certificats seront désormais disponibles pour les applications utilisant le NSS ( libnss3 ) comme Chrome.

4voto

Tony Abrams Points 2718

Comme indiqué, diverses applications utilisant le NSS ont leur propre magasin de certificats. En l'état actuel des choses sur Ubuntu, vous devez utiliser manuellement certutil pour ajouter vos ACs pour chaque application, pour chaque utilisateur.

Dans d'autres distributions comme Fedora, ce genre de chose fonctionne simplement™ et vous devriez déposer un bug contre toute application qui ne fait pas automatiquement confiance aux CA que vous installez avec. update-ca-trust .

Vous pouvez résoudre ce problème dans Ubuntu également en installant le fichier p11-kit-modules puis de remplacer le paquet NSS des racines de confiance intégrées module avec p11-kit-trust.so en créant un lien symbolique, par exemple à partir de /usr/lib/firefox/libnssckbi.so a /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so

Alors vous sera obtenir les racines de confiance configurées du système, et non des racines codées en dur. Notez que Ubuntu fournit plusieurs différents de cette bibliothèque libnssckbi.so avec les racines de confiance codées en dur, et vous devez toutes les remplacer !

cf. https://bugs.launchpad.net/ubuntu/+source/nss/+bug/1647285

2voto

Jamie Hutber Points 355

Réponse vraiment stupide à ajouter ici, mais j'avais passé 2 heures à faire des allers-retours avec certutils sous Linux. J'étais sûr que tout était correct :

hutber@hutber-mint /var/www/asos-mvt-framework $ certutil -L -d sql:${HOME}/.pki/nssdb

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

anyproxy                                                     CT,, 
rootCA                                                       CT,, 
myasos                                                       CT,, 

Mais toujours, dans Chrome, rien ne fonctionnait. J'ai tout essayé. Finalement, le redémarrage de Chrome a été la clé de mon succès après avoir suivi les étapes suivantes Steven Monday Le conseil de l'entreprise.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X