Project

General

Profile

Scénario #28771

Permettre l'installation d'un certificat de l'AC EN Scolarite et Formation sur une base importée d'un sphynx 2.5.2 sur un sphynx 2.7.0

Added by Laurent HAEFFELE 2 months ago. Updated 1 day ago.

Status:
Terminé (Sprint)
Priority:
Normal
Category:
-
Start date:
08/20/2019
Due date:
09/20/2019
% Done:

100%

Estimated time:
(Total: 7.00 h)
Spent time:
(Total: 6.50 h)
Story points:
3.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
Auto

Description

Le même problème se pose avec une migration 2.6 vers 2.7.
La version de openssl est en cause (1.0->1.1). La sortie du subject change entre ces 2 versions.
Dans l'idéal, il faudrait faire du ménage dans la table arv_db_edge_credential et modifier le code arv en conséquense
  • Suppression du champ suffix_cred
  • Modifier le contenu du champ subject en posttemplate avec la nouvelle sortie openssl sans utiliser bin_encoding qui n'était utile que pour strongSwan en mode database
  • Supprimer l'utilisation de bin_encoding et utiliser le contenu de subject sans rien modifier
    • en posttemplate
    • dans le code arv

--> le problème du format de sortie du subject a été traité partiellement dans la fonction upgrade_subject_field_in_credential_table en posttemplate/00-arv


Original de la demande


Suite à la migration de notre serveur Sphynx 2.5.2 en 2.7.0, je n'arrivais plus à ajouter de certificat sur mes serveurs Amon dans ARV sous prétexte que le certificat de l'AC n'était pas reconnu (alors qu'il est bien évidemment dans la base).

Après quelques recherches, je suis tombé sur un résultat étrange.
Les sujets des certificats stockés dans la base d'ARV importés du sphynx 2.5.2 étaient au format
/C=FR/L=MULHOUSE/O=Education Nationale/OU=Academie de Strasbourg/OU=0002 110043015/CN=0670134G-04.ac-strasbourg.fr
Alors que les nouveaux sont au format "hybride" suivant :
C = FR, L = STRASBOURG, O = Education Nationale, OU = Academie de Strasbourg, OU = 0002 110043015/CN=0670134G-01.ac-strasbourg.fr

Du coup, lorsqu'ARV recherchait le certificat de l'AC émettrice, il recherchait en fait le certificat dont le sujet était "C = FR, O = Education Nationale, OU = 0002 110043015/CN=AC EN Scolarite et Formation" alors que le sujet du certificat stocké dans la base arv est au format historique "/C=FR/O=Education Nationale/OU=0002 110043015/CN=AC EN Scolarite et Formation"

Sur une installation vierge, il est possible que le certificat de l'AC "AC EN Scolarite et Formation" soit directement importé avec le sujet "C = FR, O = Education Nationale, OU = 0002 110043015/CN=AC EN Scolarite et Formation", ce qui ne pose pas de problème, tout en étant un peu bizarre.
Comme je n'avais pas envie de casser toute ma base ARV, j'ai modifié le script /usr/lib/python2.7/dist-packages/arv/db/node.py avec le patch ci-joint.
ATTENTION: si vous partez d'une base ARV vierge, ce patch risque plus de poser problème que d'en résoudre ... la commande suivante permettra sans doute de savoir dans quel cas vous vous trouvez :
sqlite3 /var/lib/arv/db/sphynxdb.sqlite "select subject from arv_db_edge_credential where name='AC EN Scolarite et Formation';"

arv_db_node.py.patch View (1012 Bytes) Laurent HAEFFELE, 07/18/2019 04:25 PM


Subtasks

Tâche #28892: Gérer l'upgrade de la table des certificatsFerméFabrice Barconnière

Tâche #28893: Modifier le code ARV pour respecter le nouveau format du subjectFerméFabrice Barconnière

History

#1 Updated by Fabrice Barconnière 2 months ago

  • Tracker changed from Demande to Scénario
  • Description updated (diff)
  • Start date deleted (07/18/2019)
  • Release set to EOLE 2.7.0
  • Story points set to 3.0

#2 Updated by Gilles Grandgérard 30 days ago

  • Due date set to 09/20/2019
  • Target version set to sprint 2019 36-38 Equipe MENSR
  • Start date set to 08/20/2019

#3 Updated by Joël Cuissinat 15 days ago

  • Release changed from EOLE 2.7.0 to EOLE 2.7.1.1

#4 Updated by Fabrice Barconnière 14 days ago

  • Assigned To set to Fabrice Barconnière

#5 Updated by Joël Cuissinat 1 day ago

  • Status changed from Nouveau to Terminé (Sprint)

Also available in: Atom PDF