Project

General

Profile

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

Added by Jean-Marc MELET over 5 years ago. Updated over 5 years ago.

Status:
Ne sera pas résolu
Priority:
Normal
Start date:
12/09/2015
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Remaining (hours):
0.0

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

History

#1 Updated by Bruno Boiget over 5 years ago

  • Assigned To set to Fabrice Barconnière

#2 Updated by Bruno Boiget over 5 years ago

  • Tracker changed from Demande to Tâche
  • Status changed from Nouveau to En cours
  • % Done changed from 0 to 100
  • Parent task set to #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 Updated by Scrum Master over 5 years ago

  • Status changed from En cours to Fermé
  • Remaining (hours) set to 0.0

#4 Updated by Scrum Master over 5 years ago

  • Status changed from Fermé to Ne sera pas résolu
  • Estimated time set to 0.00 h

#5 Updated by Joël Cuissinat over 5 years ago

  • Estimated time changed from 0.00 h to 1.00 h

Also available in: Atom PDF