Projet

Général

Profil

upgrade_certificates_subject_field.py

Script Python pour dépannage urgent - Fabrice Barconnière, 27/05/2016 14:27

Télécharger (654 octets)

 
1
#!/usr/bin/python
2
# -*- coding: utf-8 -*-
3

    
4
from creole import cert
5
from arv.db.initialize import initialize_database, commit_database, rollback_database
6
from arv.lib.util import bin_encoding, valid
7
from arv.db.edge import *
8
from arv.db.node import *
9

    
10
initialize_database()
11
certificates = get_all_credentials()
12
for certif in certificates:
13
    subject = cert.get_subject(cert=certif.credential)
14
    name = unicode(subject[1], 'utf-8')
15
    suffix_cred = subject[0]
16
    suffix_cred = valid(suffix_cred, 'string')
17
    subject = bin_encoding("%s/CN=%s"%(suffix_cred, name))
18
    if subject != certif.subject:
19
        certif.subject = subject
20

    
21
commit_database()