You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
PROCESSAMENTO - ASSINATURA DE XML
|
|
=================================
|
|
|
|
Carregando Certificado Digital tipo A1
|
|
--------------------------------------
|
|
|
|
>>> from pynfe.entidades import CertificadoA1
|
|
|
|
>>> certificado = CertificadoA1(caminho_arquivo='tests/certificado.pfx')
|
|
|
|
Assinando NF-e
|
|
--------------
|
|
|
|
>>> from pynfe.processamento import AssinaturaA1
|
|
|
|
Na hora de assinar, selecionar um Certificado Digital
|
|
|
|
>>> assinatura = AssinaturaA1(certificado, senha='associacao')
|
|
|
|
TODO: A senha deveria ser criptografada de forma a evitar que alguem entre nesse
|
|
processo e a capture.
|
|
|
|
A assinatura deve ser feita em quatro tipos diferentes de origem do XML:
|
|
|
|
- Arquivo
|
|
|
|
>>> bool(assinatura.assinar_arquivo('tests/saida/nfe-1.xml'))
|
|
True
|
|
|
|
- String de XML
|
|
|
|
>>> hasattr(assinatura, 'assinar_xml')
|
|
True
|
|
|
|
- Instancias do PyNFe
|
|
|
|
>>> hasattr(assinatura, 'assinar_objetos')
|
|
True
|
|
|
|
- Instancia de lxml.etree
|
|
|
|
>>> hasattr(assinatura, 'assinar_etree')
|
|
True
|
|
|
|
- Utilizar pyXMLSec para isso
|
|
- verificar qual eh a integracao do PyXMLSec com o lxml.etree
|
|
|
|
Verificando assinatura
|
|
----------------------
|
|
|
|
TODO
|
|
|
|
Da mesma forma que na assinatura, a verificacao deve suportar os seguintes
|
|
formatos de dados:
|
|
|
|
- Arquivos
|
|
- String de XML
|
|
- Instancias do PyNFe
|
|
- Instancia de lxml.etree
|
|
|