Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Suplemento, assinatura e protocolo

digVal em infProt: conferir o vínculo com a NF-e original

<digVal>nfeProc › protNFe › infProt › digVal

Revisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

digVal, em /nfeProc/protNFe/infProt/digVal, é o digest da NF-e processada devolvido na resposta da SEFAZ. Ele ajuda a conferir a integridade e a correspondência com a nota original. Não é o número do protocolo e não é a assinatura digital da SEFAZ.

De onde vem e com o que comparar

O valor vem do retorno do autorizador. Para conferir a nota associada, localize o DigestValue da referência da assinatura original sob NFe, confirme que sua URI identifica infNFe e compare o resumo correspondente ao documento processado. Também confronte chNFe e tpAmb; igualdade de digest isolada não é uma associação completa.

Não use o DigestValue da assinatura sob protNFe por coincidência de nome. Essa assinatura protege o objeto da resposta, normalmente infProt, e produz seu próprio resumo. SignatureValue, por sua vez, guarda bytes da operação de assinatura. São informações diferentes.

Base64 válido não significa digest correto

No XSD, digVal é opcional e usa ds:DigestValueType, derivado de base64Binary. PR10 da NT 2025.002 v1.52 descreve o digest com 28 caracteres, compatível com 20 bytes SHA-1 na codificação usual. O tipo estrutural amplo não verifica o cálculo nem impõe sozinho esse tamanho criptográfico.

Fragmento sintético parcial de um byte zero, usado somente para mostrar codificação. AA== não é digest operacional de uma NF-e e não satisfaz a expectativa de 20 bytes SHA-1:

<digVal xmlns="http://www.portalfiscal.inf.br/nfe">AA==</digVal>

O trecho não deve ser usado em emissão ou protocolo; demonstra que aceitação lexical é uma conferência mais limitada.

Cenários de divergência

Se dois textos usam representações diferentes, como hexadecimal e base64, decodifique-os conforme sua origem e compare bytes; não compare as cadeias visuais. Se os bytes realmente diferem, examine se a resposta foi associada a outra versão ou outra nota, se houve alteração depois da assinatura e se o arquivo original foi preservado.

Uma integração que reconstrói a nota para consulta pode mudar detalhes relevantes. A verificação deve usar o XML original e a referência correta, não um XML refeito com os mesmos valores exibidos na tela. Não substitua digVal pelo resumo que a aplicação acabou de calcular para eliminar a diferença.

Ausência, status e próximo passo

A ausência de digVal é permitida estruturalmente; não deve ser preenchida com zero, texto vazio ou digest de outra nota. Analise o resultado da resposta e o retorno original. Se houver perda local, recupere o artefato correto.

Um digest coincidente não substitui a verificação da assinatura do emitente ou da SEFAZ, nem a leitura de cStat/xMotivo. A autorização histórica e a situação atual após eventos são questões distintas. Se os dados estiverem incoerentes, preserve a evidência e esclareça o vínculo antes de qualquer reenvio.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/infProt/digVal
Namespace
http://www.portalfiscal.inf.br/nfe
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
0–1 no contexto do elemento pai
Tipo
ds:DigestValueType · base64Binary
Preenchimento no catálogo
Opcional

A ocorrência vale dentro da estrutura XML: um campo obrigatório em um grupo opcional não torna esse grupo obrigatório. A aplicação fiscal depende da operação e da versão da regra.