Project

General

Profile

Scénario #28771

Updated by Fabrice Barconnière almost 5 years ago

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';"

Back