Tâche #14237
Scénario #14084: Assistance aux utilisateurs (49-51)
Les certificats intermédiaires d'une chaine présents dans /etc/ssl/local_ca ne sont pas pris en compte par les fonctions cert.py et dans la génération du certificats apache
Description
Je ne sais pas s'il s'agit exactement du même sujet traité dans https://dev-eole.ac-dijon.fr/issues/13362, mais en revanche je pense que cela répond au problème cité dans https://dev-eole.ac-dijon.fr/issues/12023. Dans le doute j'ouvre quand même ce signalement.
Constats établit sur un Scribe 2.3 avec un certificat établissement clg-annefrank.crt signé par Digicerts:
root@scribe.peda.clg-annefrank.local:~# ll /etc/ssl/certs/clg-annefrank.* -rw-r--r-- 1 root root 5838 2015-12-07 19:17 /etc/ssl/certs/clg-annefrank.crt -rw-r--r-- 1 root root 1704 2015-12-07 18:57 /etc/ssl/certs/clg-annefrank.key root@scribe.peda.clg-annefrank.local:~# ll /etc/ssl/local_ca/TERENASSLCA3.crt -rw-r--r-- 1 root root 1789 2015-09-11 11:31 /etc/ssl/local_ca/TERENASSLCA3.crt root@scribe.peda.clg-annefrank.local:~# python -c """from creole import cert;print cert.certif_loader()""" Chaîne de certificats incomplète. None root@scribe.peda.clg-annefrank.local:~# python -c """from creole import cert;print cert.get_certs_chain(['/etc/ssl/certs/clg-annefrank.crt'])""" Chaîne de certificats incomplète. ['/etc/ssl/certs/clg-annefrank.crt'] root@scribe.peda.clg-annefrank.local:~# ll /etc/ssl/certs/clg-annefrank_ca-chain.crt -rw-r--r-- 1 root root 0 2015-12-09 11:25 /etc/ssl/certs/clg-annefrank_ca-chain.crt root@scribe.peda.clg-annefrank.local:~# grep SSLCertificateChainFile /etc/apache2/sites-enabled/Vhost-ssl root@scribe.peda.clg-annefrank.local:~#
On peut constater que la librairie ne parvient pas à retrouver la chaine utilisée pour signer le certificat et que le fichier de la chaine n'est pas correctement généré (clg-annefrank_ca-chain.crt de taille nulle). En plus de provoquer deux fois l'erreur "Chaîne de certificats incomplète" au reconfigure, le paramètre SSLCertificateChainFile dans la conf du Vhost SSL d'apache n'est pas renseigné et apache ne diffuse donc pas la chaine.
Maintenant si ajoute le fichier TERENASSLCA3.crt dans le dossier par défaut du magasin de certificat, le fichier de la chaine est bien généré, il n'y a plus d'erreur et apache diffuse bien la chaine:
root@scribe.peda.clg-annefrank.local:~# cp /etc/ssl/local_ca/TERENASSLCA3.crt /etc/ssl/certs/ root@scribe.peda.clg-annefrank.local:~# python -c """from creole import cert;print cert.certif_loader()""" None root@scribe.peda.clg-annefrank.local:~# python -c """from creole import cert;print cert.get_certs_chain(['/etc/ssl/certs/clg-annefrank.crt'])""" ['/etc/ssl/certs/clg-annefrank.crt', '/etc/ssl/certs/TERENASSLCA3.crt', '/etc/ssl/certs/DigiCert_Assured_ID_Root_CA.pem'] root@scribe.peda.clg-annefrank.local:~# ll /etc/ssl/certs/clg-annefrank_ca-chain.crt -rw-r--r-- 1 root root 1789 2015-12-09 17:33 /etc/ssl/certs/clg-annefrank_ca-chain.crt
Apres reconfigure:
root@scribe.peda.clg-annefrank.local:~# grep SSLCertificateChainFile /etc/apache2/sites-enabled/Vhost-ssl SSLCertificateChainFile /etc/ssl/certs/clg-annefrank_ca-chain.crt
J'en conclu donc que les certificats présents dans /etc/ssl/local_ca ne sont pas pris en compte comme il faut
Historique
#1 Mis à jour par Bruno Boiget il y a plus de 8 ans
- Assigné à mis à Fabrice Barconnière
#2 Mis à jour par Bruno Boiget il y a plus de 8 ans
- Tracker changé de Demande à Tâche
- Statut changé de Nouveau à En cours
- % réalisé changé de 0 à 100
- Tâche parente mis à #14084
effectivement, le répertoire local_ca n'est pas utilisé par la nouvelle méthode mise en place (il sert à concaténer des certificats dans la CA locale ca.crt).
Il faut bien copier les certificats intermédiaires dans /etc/ssl/certs et reconfigurer. La procédure est expliquée ici :
https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Gestion_certificats
La mise à jour de la documenation officielle est prévue dans ce scénario : #13638
Pour la demande concernant Seshat et Scribe, il faudra toujours mettre les certificats nécessaires à la validation du certificat de Scribe dans local_ca de Seshat.
#3 Mis à jour par Scrum Master il y a plus de 8 ans
- Statut changé de En cours à Fermé
- Restant à faire (heures) mis à 0.0
#4 Mis à jour par Scrum Master il y a plus de 8 ans
- Statut changé de Fermé à Ne sera pas résolu
- Temps estimé mis à 0.00 h
#5 Mis à jour par Joël Cuissinat il y a plus de 8 ans
- Temps estimé changé de 0.00 h à 1.00 h