Project

General

Profile

Tâche #22013

Scénario #21866: Traitement express MEN (46-48)

test dans certs.py pouvant provoquer des dysfonctionnements

Added by Emmanuel GARETTE over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
11/10/2017
Due date:
% Done:

100%

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

Description

Dans la fonction de génération des certificats on trouve le test suivant :

    # vérification de la valeur actuelle du ca
    # vérification du cn de la ca
    if os.path.isfile(ca_file):
        cmd = Popen(['/usr/bin/openssl', 'x509', '-in', ca_file, '-subject', '-noout'], stdout=PIPE)
        if cmd.wait() != 0:
            unlink(ca_file)
            prep_dir()
        else:
            res = cmd.communicate()[0]
            cn = res[res.rindex('CN=')+3:res.rindex('CN=')+15].strip()
            *if cn == str('self signed ') or cn == str('CA auto sign'):*
                unlink(ca_file)
                prep_dir()

Avec OpenSSL 1.0.2g le subject est :

subject= /C=FR/O=Ministere Education Nationale (MENESR)/OU=110 043 015/OU=ac-dijon/CN=CA-srvfog.cadoles.lan

Donc cn est égale a :

>>> res="subject= /C=FR/O=Ministere Education Nationale (MENESR)/OU=110 043 015/OU=ac-dijon/CN=CA-srvfog.cadoles.lan" 
>>> res[res.rindex('CN=')+3:res.rindex('CN=')+15].strip()
'CA-srvfog.ca'

Par contre avec OpenSSL 1.1.0f-2 (installé par FOG), le subject est :

subject=C = FR, O = Ministere Education Nationale (MENESR), OU = 110 043 015, OU = ac-dijon, CN = CA-srvfog.cadoles.lan

Le calcul de cn ne fonctionne plus :

>>> res="subject=C = FR, O = Ministere Education Nationale (MENESR), OU = 110 043 015, OU = ac-dijon, CN = CA-srvfog.cadoles.lan" 
>>> res[res.rindex('CN=')+3:res.rindex('CN=')+15].strip()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

En regardant de plus prêt, je ne vois pas à quoi sert ce calcul et ce test.

C'est forcement toujours différent de 'self signed ' et 'CA auto sign'

Si on remonte dans l'historique, le commit creole:f684ca625509bd334b520b4576a32adfda7ba84a introduit ce test. Il a l'air de faire suite au passage d'openvpn à openssl pour générer les certificats creole:2b7ab94732f2425b0cd71cfb12653f36218d23a3

J'ai tendance à pense que ce calcul peu sûr n'est absolument plus nécessaire.

Associated revisions

Revision 4bcbd41b (diff)
Added by Emmanuel GARETTE over 2 years ago

Suppression du test sur les certificats autosignés (ref #22013)

History

#1 Updated by Emmanuel GARETTE over 2 years ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Emmanuel GARETTE
  • Estimated time set to 1.00 h
  • Remaining (hours) set to 1.0

#2 Updated by Emmanuel GARETTE over 2 years ago

  • % Done changed from 0 to 100
  • Remaining (hours) changed from 1.0 to 0.25

#3 Updated by Scrum Master over 2 years ago

  • Status changed from En cours to Résolu

#4 Updated by Benjamin Bohard over 2 years ago

  • Remaining (hours) changed from 0.25 to 0.0

#5 Updated by Benjamin Bohard over 2 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF