source: branches/2.2/security/crl_admin/crl_admin_confg.py @ 3232

Revision 3232, 2.5 KB checked in by rafaelraymundo, 14 years ago (diff)

Ticket #1237 - Atualizados componentes de suporte ao uso do Certificado Digital.

Line 
1# -*- coding: utf-8 -*-
2
3# Lista com as urls das CRLs, e onde colocar(path) os arquivos obtidos ....
4CRL_urls = []
5Confs = {}
6
7#Confs['dirtemp']         # path para a pasta temp para conter arquivos auxiliares....
8#Confs['CAfile']          # Arquivo com cadeia dos certificados das CAs, para verificacao das CRLs.
9#Confs['CRLs']            # path para a pasta onde as CRLs sao salvas
10#Confs['arquivos_crls']   # path para o arquivo de configuracao contendo urls das crls e paths onde serao baixadas...
11#Confs['log']             # Arquivo onde sera grada log de execucao da qtualizacao/verificacao das crls.
12                          # Deixe 'log' igual a vazio para ver as msgs de execucao no terminal.......
13def ler_arquivo_com_configuracao():
14    # Esta funcao le o arquivo com configuracao geral(linguagen php) para tratar certs.
15    import os,sys
16    BASE = os.path.realpath(__file__).split(os.sep + 'security')[0] # BASE igual a pasta inicial(raiz) do Expresso
17    os.chdir(BASE + '/security/classes')
18    # Esta funcao le o arquivo com configuracao geral(linguagen php) para tratar certs.
19    conf_file = BASE + '/security/classes/Verifica_Certificado_conf.php'
20    e = open(conf_file)
21    r = e.read()
22    aux1 = r.split('\n')
23    # primeiro recupera BASE ...
24    for linha in aux1:
25        linha = linha.strip()
26        if linha[0:16] == "$GLOBALS['BASE']":
27            Confs['BASE'] = BASE
28            break
29    # Agora os demais ...
30    for linha in aux1:
31        linha = linha.strip()
32        if linha[0:10] == "$GLOBALS['":
33          if linha[0:16] != "$GLOBALS['BASE']":
34            aux2 = linha.split(';')
35            if aux2[0] != '':
36                aux2a = aux2[0].split("'")
37                aux3 = aux2[0].split("=")
38                Confs[aux2a[1]] = aux3[1].replace(' ','')
39    # Finalmente trata as ocorrencias de BASE ...
40    for chave in Confs.keys():
41        if chave != 'BASE':
42            aux = Confs[chave].replace("$GLOBALS['BASE'].",Confs['BASE'])
43            Confs[chave] = aux.replace("'",'')
44    return
45
46def ler_conf():
47    # Esta funcao le o arquivo passado como parametro e gera a lista CRL_urls.
48    # O arquivo he esperado no formato:
49    # url ( url = aponta onde buscar a crl,  uma por linha.
50    ler_arquivo_com_configuracao()
51    e = open(Confs['arquivos_crls'])
52    r = e.read()
53    aux1 = r.split('\n')
54    for linha in aux1:
55        if linha[0:1] != '#':
56            if linha != '':
57                # Faz split com ';' para manter compatibilidade com arquivos formato antigo ...
58                CRL_urls.append([linha.split(';')[0],Confs['CRLs']])
59    return
Note: See TracBrowser for help on using the repository browser.