Problema com Assinatura Digital da Nota Fiscal de Serviço Eletrônica de São Paulo - Capital (Nota Paulistana)

242 views
Skip to first unread message

Adriano Margarin

unread,
Aug 25, 2015, 9:15:10 AM8/25/15
to Python Brasil
Bom dia caros amigos.

Estou realizando a integração com a prefeitura de SP Capital da nota paulistana e estou com um problema na "Signature" do XML. 

Estou utilizando o certificado digital A1.

O que já foi tentado usar para resolver:
Já tentei criar manualmente a assinatura e sempre acontece o mesmo erro:

<?xml version="1.0" encoding="UTF-8"?><RetornoEnvioLoteRPS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.prefeitura.sp.gov.br/nfe"><Cabecalho Versao="1" xmlns=""><Sucesso>false</Sucesso></Cabecalho><Erro xmlns=""><Codigo>1057</Codigo><Descricao>Rejeição: Assinatura difere do calculado.</Descricao></Erro></RetornoEnvioLoteRPS>

Alguém que já tenha feito essa integração com SP ja passou por esse problema?

Se faltou algum detalhe pode perguntar ;)

Desde já agradeço a atenção.

Linux - Junior Polegato

unread,
Aug 25, 2015, 9:19:44 AM8/25/15
to python...@googlegroups.com
Olá!

        Se usa Linux, tenho, dentro do projeto Pole [1], o PoleXML e PoleXmlSec que podem te ajudar, pois funcionam 100% com a NF-e. Qualquer dúvida estou à disposição.

[1] https://github.com/JuniorPolegato/pole

--

[]'s

Junior Polegato

Diego Rocha

unread,
Aug 25, 2015, 11:32:19 AM8/25/15
to python...@googlegroups.com
Cara,

Valida a assinatura dos XML gerados no site da receita federal https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.aspx
Ele provavelmente também falará que a assinatura é realmente inválida.

As vezes existe problema de encoding, se você não estiver trabalhando com UTF-8 e tiver caracteres especiais no arquivo a assinatura será incorreta mesmo, o ideal é trabalhar sempre com utf-8 ou retirar os caracteres especiais antes de assinar.

Atenciosamente,
Diego Rocha

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Adriano Margarin

unread,
Aug 25, 2015, 11:42:43 AM8/25/15
to python...@googlegroups.com
Junior Polegato: Estou olhando a lib que você mandou, ainda não testei ela. 

Diego Rocha: Estou trabalhando com UTF-8, é removido todos caracteres especiais antes de assinar. Já estou utiizando esse validador para testar. :)




Você recebeu essa mensagem porque está inscrito em um tópico no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/python-brasil/3eog7KNBudM/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para python-brasi...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



--

Adriano Margarin

unread,
Aug 25, 2015, 3:20:37 PM8/25/15
to python...@googlegroups.com

Pessoal resolvido o problema, obrigado pela atenção.
 O problema era o seguinte:

 Estava assinando isso:

<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>b5VsuooPRd6rySvz67kwwQOObWM=</DigestValue></Reference></SignedInfo>

Sendo que o correto seria isto:

<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>b5VsuooPRd6rySvz67kwwQOObWM=</DigestValue></Reference></SignedInfo>

Somente o fechamento das tags onde não tem valor.

Obrigado pela atenção

Carlos Silveira

unread,
Feb 17, 2016, 9:09:30 AM2/17/16
to Python Brasil
Olá Adriano , vi seu post aqui e me ajudou bastante com a assinatura, agora estou sofrendo pra conectar no webservice de são paulo, vc poderia me passar como fez a conexão ?

Grato,

Carlos

Junior Tada

unread,
Feb 17, 2016, 3:55:38 PM2/17/16
to Python Brasil
Carlos Silveira, implementei no PyNFe  a assinatura, serialização xml e comunicação com a Sefaz. Para Nf-e utilizei requests.
Segue o código no github:
https://github.com/leotada/PyNFe


Junior Tada

Carlos Silveira

unread,
Feb 17, 2016, 4:01:01 PM2/17/16
to Python Brasil
Obrigato vou dar uma olhada.
Reply all
Reply to author
Forward
0 new messages