digVal em infProt: conferir o vínculo com a NF-e original
<digVal>nfeProc › protNFe › infProt › digValRevisã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
- DigestValue — /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestValue
- chNFe — /nfeProc/protNFe/infProt/chNFe
Fontes oficiais
- Leiaute NF-e/NFC-e — PL_010f_v1.04: TProtNFe, linhas 6686–6770.
- Schema XMLDSig NF-e/NFC-e — PL_010f_v1.04: SignatureValueType, SignedInfoType, ReferenceType, TransformsType e TTransformURI.
- NT 2025.002 RTC — 1.52: seção 5.1, p. 11; PR03–PR90, p. 13.
- XML Signature Syntax and Processing — 1.1: seções 3.2, 4.3, 4.4 e 6: processamento, referências, IDs e algoritmos.
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.