Comment installer un certificat racine?


224

Quelqu'un peut-il m'indiquer un bon tutoriel sur l'installation d'un certificat racine sur Ubuntu 10 ou 11?

On m'a fourni un .crtfichier. Je suppose que la nécessité de créer un répertoire /usr/share/ca-certificates/newdomain.orget de placer le .crt dans ce répertoire. Au-delà, je ne sais pas comment procéder.


19
Si quelqu'un atterrit ici avec un fichier CER au lieu d'un fichier CRT, c'est la même chose (avec une extension différente). Vous devriez pouvoir suivre ces réponses et simplement substituer le nom de fichier.
Oli

Réponses:


299

Installer un certificat racine / CA

À partir d’un fichier de certificat d’autorité de certification foo.crt, procédez comme suit pour l’installer sur Ubuntu:

  1. Créez un répertoire pour les certificats CA supplémentaires dans /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Copiez le .crtfichier CA dans ce répertoire:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Laissez Ubuntu ajouter le .crtchemin du fichier par rapport /usr/share/ca-certificatesà /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Pour ce faire de manière non interactive, exécutez:

    sudo update-ca-certificates
    

Dans le cas d'un .pemfichier sur Ubuntu, il doit d'abord être converti en un .crtfichier:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Que diriez-vous d'utiliser /usr/local/share/ca-certificates(local!) Au lieu d'utiliser un système géré directement par la gestion des paquets?
gertvdijk

6
Notez que Firefox (et peut-être un autre logiciel) n'utilise pas les certificats du système, mais dispose de son propre magasin de certificats: askubuntu.com/a/248326/79344 .
Amir Ali Akbari

13
Notez que le fichier doit être au format PEM et avoir l’extension ".crt".
Anton le

2
sudo dpkg-reconfigure ca-certificatesMerci, l'autre sudo update-ca-certificates --freshn'a pas fonctionné le 16.10.
antivirtel

7
La commande openssl x509 -in foo.pem -inform PEM -out foo.crtcopie un fichier PEM dans un fichier PEM. Cela peut être fait plus facilement en renommant.
Marian

191

Etant donné le fichier de certificat de l'autorité de certification 'foo.crt', procédez comme suit pour l'installer sur Ubuntu:

Tout d'abord, copiez votre CA dans dir /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

puis, mettez à jour le magasin CA

sudo update-ca-certificates

C'est tout. Vous devriez obtenir cette sortie:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Aucun fichier n'est nécessaire pour éditer. Le lien vers votre autorité de certification est créé automatiquement.

Veuillez noter que les noms de fichier de certificat doivent se terminer par .crt, sinon le update-ca-certificatesscript ne les détectera pas.

Cette procédure fonctionne également dans les versions les plus récentes: manuels .


1
cela semble ne pas fonctionner dans la confiance tahr 14.04
mcantsin

25
Veuillez noter que, contrairement à l'ajout à / usr / share / ca-certificates, cela ne semble fonctionner que s'ils sont directement dans / usr / local / share / ca-certificates et non dans un sous-répertoire. +1 pour utiliser le dossier local au lieu du dossier système!
Toby J

2
Ceci est documenté dans le fichier README.Debian .
Pevik

1
@ Sparky1, cela devrait être la réponse acceptée.
Drew Chapin

1
@FranklinYu merci :) Debian est passée d'Alioth à Salsa, cela fonctionnerait aussi: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , mais sources.debian.org est meilleur.
Pevik

7

Installer une autorité de certification sur Ubuntu

J'ai testé cela sur Ubuntu 14.04.

Voici ma solution, j'ai longtemps cherché à trouver un moyen de faire en sorte que cela fonctionne.

  1. Extrayez le .cer du navigateur. J'ai utilisé IE 11.
    • Paramètres -> Options Internet -> Autorités de certification intermédiaires
    • Sélectionnez l'autorité de certification que vous souhaitez exporter ( certutil -config - -pingvous montrera celles que vous utilisez si vous êtes derrière un proxy d'entreprise)
    • Exporter -> Sélectionner le format que vous souhaitez utiliser: .cer encodé DER
  2. Obtenir les fichiers .cer sur Ubuntu en quelque sorte
  3. Convertir en .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Faire un répertoire supplémentaire sudo mkdir /usr/share/ca-certificates/extra
  5. Copier les certificats sur sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. Si non, alors vous devez faire ce que j'ai fait, allez à sudo nano /etc/ca-certificates.conf
  8. Faites défiler la liste et trouvez votre .cer et supprimez le !devant du nom du fichier (doc de update-ca-certificates) - si vous ne trouvez pas votre certificat exécutédpkg-reconfigure ca-certificates
  9. Courir sudo update-ca-certificates
  10. Vous devrez peut-être faire confiance aux autorités de certification de Firefox, Chrome, etc., il me fallait travailler avec Docker pour que, après ces étapes, cela fonctionne avec Docker.

1
est-ce que ça marche en 16.04?
endolith

@endolith a travaillé pour moi en 16.04.
Shubham

4

Les autres réponses n’ont pas fonctionné pour moi avec Ubuntu 18.04. Ajoutez le certificat de certificat à l' /etc/ssl/certs/ca-certificates.crtaide de la commande suivante:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 heures de déconner avec les commandes d'importation avant que je trouve cela. Parfait!
Beirtipol

La commande est erronée, la finale sest manquante: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Merci pour cette solution.
SommerEngineering

Remarque: il s'agit de la solution temporaire, car le certificat ajouté sera supprimé après son exécution update-ca-certificates.
Kenorb

3

Ayez le certificat (racine / autorité de certification) disponible sur un serveur Web, local sur votre réseau si vous le souhaitez.

  • Naviguez jusqu'à Firefox.
  • Ouvrez le certificat et dites à Firefox de l'ajouter à titre d'exception.
  • Firefox vous demandera si vous souhaitez faire confiance à ce certificat pour identifier des sites Web, pour des utilisateurs de courrier électronique ou pour des éditeurs de logiciels.
  • Prendre plaisir!

Mise à jour: Il sera nécessaire de vérifier si cela fonctionne sur Ubuntu 11. J'ai compris que je venais de le faire sur Ubuntu 12.04 LTS.


5
Firefox n'a-t-il pas son propre conteneur de certificats? Si on ajoutait un certificat de cette façon, juste Firefox pourrait l’utiliser, n’est-ce pas?
Aiyion.Prime

Cela ne fonctionne pas du tout, vous devez toujours l'ajouter au conteneur de certificats global du système d'exploitation, sinon ce ne sera que dans le conteneur Firefox.
arc_lupus

1

À partir d' ici :

Installer le certificat

Vous pouvez installer le fichier de clé example.key et le fichier de certificat example.crt, ou le fichier de certificat émis par votre autorité de certification, en exécutant les commandes suivantes à l'invite du terminal:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Maintenant, configurez simplement toutes les applications, avec la possibilité d'utiliser la cryptographie à clé publique, pour utiliser le certificat et les fichiers de clé. Par exemple, Apache peut fournir le protocole HTTPS, Dovecot peut fournir les protocoles IMAPS et POP3S, etc.


J'aurais dû lire plus attentivement ... Il semble que ce ne soit pas le cas pour les certificats racine. Cette page sur laquelle je me suis connecté contient cependant des informations sur les certificats racine qui pourraient être utiles.
jat255

1
Je n'ai ni clé publique ni clé privée, j'ai juste un .crt alors, malheureusement, ces instructions ne semblent pas s'appliquer.
Sparky1

0

Ajouter un certificat d'autorité de certification racine dans FireFox est maintenant très facile. Ouvrez simplement vos préférences, allez à "Confidentialité et sécurité", faites défiler jusqu'à "Certificats" et cliquez sur "Afficher les certificats ...". Ici, vous pouvez cliquer sur "Importer un certificat". Pointez sur votre autorité de certification racine (.pem) et sur OK. C'est tous les gens.


0

Voici les étapes simples:

  1. Installez les certificats de l'autorité de certification pour permettre aux applications basées sur SSL de vérifier l'authenticité des connexions SSL:

    sudo apt-get install ca-certificates
    
  2. Copiez le fichier de certificat ( crtou.cer ) dans le /usr/local/share/ca-certificates/dossier, par exemple:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Pour le fichier PEM, voir: Convertir .pem en .crt et .key .

    Si vous utilisez un proxy Charles, cette commande peut éventuellement fonctionner:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Mettre à jour les certificats:

    sudo update-ca-certificates
    

    La commande mettra à jour le /etc/ssl/certsrépertoire ca-certificates.crtcontenant les certificats SSL et générera un fichier (liste concaténée de certificats à fichier unique).

    Remarque: N'ajoutez pas de certificats manuellement (comme suggéré ici ), car ils ne sont pas persistants et vont être supprimés.

Remarque: Si vous exécutez en tant que root, vous pouvez supprimer les sudocommandes ci-dessus.


0

Clarification entre update-ca-certificateset dpkg-reconfigure ca-certificateset pourquoi l’on travaille et l’autre ne fonctionne pas !!

update-ca-certificatesou sudo update-ca-certificates ne fonctionnera que si /etc/ca-certificates.conf a été mis à jour.

/etc/ca-certificate.conf est mis à jour uniquement une fois que vous avez exécuté dpkg-reconfigure ca-certificates ce qui met à jour les noms de certificat à importer dans/etc/ca-certificates.conf

Ceci est indiqué dans l'en-tête du /etc/ca-certificates.conffichier:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Comme vous pouvez le constater, le format en /etc/ca-certificates.confest<folder name>/<.crt name>

Donc, pour utiliser update-ca-certificatesou sudo update-ca-certificatesvous pouvez faire ce qui suit pour importer un fichier .crt:

  1. Créez un répertoire pour les certificats CA supplémentaires dans / usr / share / ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Copiez le fichier .crt dans ce répertoire:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Ajouter une ligne à l' /etc/ca-certificates.confaide de <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Mettre à jour les certs de manière non interactive avec sudo update-ca-certificates

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

S'amuser!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.