1 | # -*- coding: utf-8 -*- |
---|
2 | |
---|
3 | # Lista com as urls das CRLs, e onde colocar(path) os arquivos obtidos .... |
---|
4 | CRL_urls = [] |
---|
5 | Confs = {} |
---|
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....... |
---|
13 | def 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 | |
---|
46 | def 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 |
---|