Ejemplo n.º 1
0
    def extrair_certificado_a1(self, arquivo, senha):
        '''
        Extrai o conteúdo do certificado A1
        @param arquivo:arquivo binário do certificado
        @param senha: senha do certificado.
        @return: dicionário com a string do certificado, chave privada, emissor, proprietario, data_inicio_validade e
        data_final_validade.
        '''

        conteudo_pkcs12 = crypto.load_pkcs12(arquivo, senha)
        key_str = crypto.dump_privatekey(crypto.FILETYPE_PEM,
                                         conteudo_pkcs12.get_privatekey())

        cert_str = crypto.dump_certificate(crypto.FILETYPE_PEM,
                                           conteudo_pkcs12.get_certificate())
        certificado = Certificado()
        certificado.prepara_certificado_txt(cert_str)

        vals = {
            'cert': cert_str,
            'key': key_str,
            'emissor': certificado.emissor.get('OU'),
            'proprietario': certificado.proprietario.get('CN'),
            'data_inicio_validade': certificado.data_inicio_validade,
            'data_final_validade': certificado.data_fim_validade,
        }
        return vals
Ejemplo n.º 2
0
    def extrair_certificado_a1(self, arquivo, senha):
        '''
        Extrai o conteúdo do certificado A1
        @param arquivo:arquivo binário do certificado
        @param senha: senha do certificado.
        @return: dicionário com a string do certificado, chave privada, emissor, proprietario, data_inicio_validade e data_final_validade.
        '''

        conteudo_pkcs12 = crypto.load_pkcs12(arquivo, senha)
        key_str = crypto.dump_privatekey(crypto.FILETYPE_PEM, conteudo_pkcs12.get_privatekey())

        cert_str = crypto.dump_certificate(crypto.FILETYPE_PEM, conteudo_pkcs12.get_certificate())
        certificado = Certificado()
        certificado.prepara_certificado_txt(cert_str)

        vals = {'cert': cert_str,
                'key': key_str,
                'emissor': certificado.emissor.get('OU'),
                'proprietario': certificado.proprietario.get('CN'),
                'data_inicio_validade': certificado.data_inicio_validade,
                'data_final_validade': certificado.data_fim_validade,
        }
        return vals