cancel
Showing results for 
Search instead for 
Did you mean: 

Assinatura digital NFS-e

former_member643919
Participant
0 Kudos

Bom dia.

Estou implementando a NFS-e para a prefeitura do Rio de Janeiro.

Preciso assinar individualmente cada Rps e, posteriormente, o lote.

Ao enviar para a prefeitura, deu erro na assinatura.

Pesquisando, encontrei a thread, respondida pelo Henrique, http://scn.sap.com/thread/3149734 , que explica o porquê deste erro... Parece que como há várias assinaturas no XML, o assinador standard se perde...

Testei tb via assinador Abap e nada... mesmo erro.

Alguém já conseguiu fazer funcionar este cenário e pode me ajudar com a assinatura?

Qualquer ajuda será bem vinda, hehe...

Obrigado.

Abs,

Flavio.

Accepted Solutions (1)

Accepted Solutions (1)

pedro_baroni3
Active Contributor
0 Kudos

Boa tarde Flavio, td bem?

Em relação a este problema de Assinar um XML já assinado, a SAP já publicou algumas correções:

Note 1810109 - XML Signature: Sign a signed element

Note 1820684 - XML Signature: sign signed XML

Note 1856385 - XML Signature: CX_SXML_STATE_ERROR Exception

Note 1866334 - CL_SEC_SXML_DSIGNATURE: Inclusive C14N

Note 1885437 - CL_SEC_SXML_DIGNATURE=>embed_signature throws error

Você conseguiu resolver a questão da Assinatura da NFS-e? Como?

Abçs.,

former_member643919
Participant
0 Kudos

Oi Pedro,

Bom dia.

Obrigado pela resposta.

Quando soube que era uma impossibilidade assinar um XML já assinado, optamos por assinar cada RPS e não o lote. Desta maneira, funcionou.

De qualquer maneira está na nossa lista esta adequação, aplicando as notas liberadas.

Obrigado,

Flavio.

Former Member
0 Kudos

Oi Flavio.

Se for o caso por favor feche a thread.

Grato

Eduardo Chagas

Answers (3)

Answers (3)

derik_macedo
Explorer
0 Kudos

Fiz exatamente a mesma coisa e funcionou perfeitamente para prefeitura do RJ, porém ao trabalhar com a prefeitura de BH essa solução não foi suficiente.

Para resolver o problema contei com ajuda do Miguel Motta que no post abaixo explica como resolver o problema.

http://scn.sap.com/thread/3798839

miguel_motta
Explorer
0 Kudos

É possível realizar a assinatura digital direto no ABAP.

Já assinei com sucesso XMLs de SP e BH.

O programa SECXML_SIGN_SIGNED_XML auxilia muito nos testes.

renatobertizini
Explorer
0 Kudos

Bom dia Miguel,

Estou realizando assinaturas de XML via ABAP para as NFSe de São Paulo.

Por um acaso, você se deparou com o erro "Assinatura difere do calculado", no caso de SP?

Obrigado,

Renato Bertizini

pedro_baroni3
Active Contributor
0 Kudos

Renato, bom dia.

Uma boa ferramenta para validação dos XMLs assinados é o Site da Receita:

https://www.receita.fazenda.gov.br/Aplicacoes/SSL/ATBHE/Assinadoc/ValidadorAssinaturas.app/valida.as...

Sempre uso esse link para validar se os XMLs que estou enviando estão assinados corretamente.

Att.,

Pedro Baroni

miguel_motta
Explorer
0 Kudos

Bom dia Renato,

Verifique a nota 1456433. Nela, existem as notas que devem ser aplicadas para cada versão do SAP_BASIS. O recomendado é aplicar o support package mais recente.

Um ponto de atenção é o patch do Kernel. O requisito mínimo é o patch 413.

Former Member
0 Kudos

Fala ai Flavio tudo bem?

vc usou alguma função do GRC para assinar a nota?

como devo fazer para chamar o assinador do abap, se pode ajudar agradeço. abs

vou fazer o mesmo desenvolvimento para assinar os RPS.

obrigado

former_member643919
Participant
0 Kudos

Oi Wesley,

Desenvolvi usando o assinador Java. Porém, imagino ser possível utilizar a assinatura ABAP.

Tente usar a função /XNFE/CORE_SIGNATURE_CREATE. Esta função foi desenvolvida dentro do pacote da NF-e, mas é um assinador genérico.

Se precisar de qualquer outra ajuda, fique à vontade para perguntar.

Abs,

Flavio.

pedro_baroni3
Active Contributor
0 Kudos

Oi pessoal,

Na época que fiz a NFS-e, até tentei implementar as SAP Notes acima e utilizar as funções ABAP para Assinar o RPS.

A primeira assinatura ocorria corretamente, entretanto a Assinatura do Lote de RPS não funcionou nem com "reza brava", parece que a função ABAP se perdia ao tentar assinar um XML já assinado.

O jeito mesmo foi gerar um Assinador como WebService em Java e hospedá-lo no NetWeaver, e então desenvolver uma Interface ABAP Proxy to SOAP para assinar o XML.

Mas imagino que seja possível assinar dentro de um Java Mapping, mas isso fica por conta dos Experts...aliás, alguém por aí teria um Assinador JAVA para compartilhar?

Abraços a todos.

Pedro Baroni

Former Member
0 Kudos

Ola Flavio obrigado,

vou tetar, mas acho que vai dar erro, pois tem o esquema do lote com um xml já assinado.

abraço