Notes concernant le test d'une chaîne de certification et l'installation de certificat racine sur un système de type Debian-like.
On cherche à vérifier la disponibilité d'un certificat d'autorité de certification racine (Root CA), son numéro de série, son empreinte et à l'installer sur le système s'il est manquant.
On peut utiliser les outils openssl ou curl pour vérifier les chaînes de certifications.
Pour vérifier que la chaîne de certification est valide pour un serveur donné:
curl --verbose https://fqdn
Si la connexion est valide et vérifiée par une autorité de certification racine présente sur le système alors une ligne de la forme suivante est affichée:
* SSL certificate verify ok.
Si le certificat ou la chaîne de certificats présentée par le serveur distant est signée par une Autorité de certification non reconnue par le système courant, un message de la forme suivante est affiché:
* SSL certificate problem: self signed certificate in certificate chain
La même vérification peut être faite avec openssl:
openssl s_client -connect fqdn:443
En cas d’échec un message du type ci-dessous est affiché
... verify error:num=19:self signed certificate in certificate chain ...
Avant toute installation (importation) d'un certificat désignant une Autorité de certification racine, il faut vérifier que le numéro de série et l'empreinte sont corrects. Pour cela on utilise opensssl
openssl x509 -noout -fingerprint -serial -in root_ca.cert.pem # Si openssl n'arrive pas à décoder le certificat, # spécifier le format en entrée avec l'argument -inform openssl x509 -noout -serial -fingerprint -sha1 -inform der -in root_ca.cert.crt
Vérifier que le certificat racine valide la chaine:
curl --verbose --cacert root_ca.cert.pem https://fqdn # équivalent openssl s_client -connect fqdn:443 -CAfile root_ca.cert.pem
sudo cp root_ca.cert.pem /usr/share/ca-certificates/ sudo update-ca-certificates
La commande update-ca-certificates récupère les certificats racines présents dans les différents répertoires système et les concatène dans un fichier unique qui pourra être utilisés par les différents clients et navigateurs.
Pour importer les certificats d'une Autorité de Certification (CA) dans Firefox: