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