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

Reference na assinatura de protNFe: alvo, transformações e digest

<Reference>nfeProc › protNFe › ds:Signature › ds:SignedInfo › ds:Reference

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

Reference, em /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference, descreve o objeto coberto pelo resumo incluído na assinatura da resposta da SEFAZ. Na estrutura fiscal estudada há uma referência obrigatória dentro de SignedInfo; a declaração geral XMLDSig não deve ser usada para presumir múltiplas referências no perfil NF-e.

O que o grupo contém

O XSD exige Transforms, DigestMethod e DigestValue, nessa ordem. URI é obrigatório e tem comprimento mínimo de dois caracteres. Id e Type são opcionais. URI aponta para o objeto; Id identifica o próprio elemento Reference; Type, quando fornecido, descreve o tipo do objeto. Nenhum deles é a chave de acesso por definição do nome.

No protocolo, PR03/PR04 e PR90 vinculam a assinatura a infProt identificado pelo atributo Id. Não copie a URI #NFe... da assinatura do emitente: ali o contexto é a nota e seu infNFe, não a resposta.

Como conferir a cadeia completa

Localize a referência da assinatura sob protNFe. Resolva o alvo da URI no documento original e verifique que é o infProt esperado, sem IDs ambíguos. Aplique as transformações declaradas, calcule o resumo pelo algoritmo indicado e compare os bytes ao DigestValue decodificado de base64. Isso é a verificação da referência.

Depois há a verificação de SignatureValue sobre SignedInfo canonicalizado e a avaliação do certificado/signatário. Um digest coincidente, sem assinatura confiável, não autentica a resposta. Também não substitui a leitura de cStat nem uma consulta da situação fiscal atual.

Cenários de diagnóstico

Se a URI identifica um elemento que não existe, investigue perda de atributos ou montagem incorreta do XML. Se identifica dois elementos, há ambiguidade de ID e a verificação não deve escolher o primeiro por conveniência. Se o alvo existe mas o digest diverge, compare a resposta original, as transformações e o tratamento dos namespaces.

Exemplo textual: uma referência local aponta para a identificação do infProt recebido. Um parser que pesquisa somente pelo nome Id, sem associá-lo ao elemento esperado, pode usar outro alvo. Corrigir o resolver é diferente de editar a resposta. Não há XML completo de Reference aqui: os dados originais do protocolo são necessários para demonstrar uma referência e um digest reais, e inventá-los produziria falsa aparência de integridade.

URIs externas desconhecidas não devem provocar downloads automáticos. O objetivo da conferência fiscal é identificar o grupo previsto no retorno, não permitir acesso arbitrário a recursos pela biblioteca de assinatura.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference
Namespace
http://www.w3.org/2000/09/xmldsig#
Leiaute
4.00 · PL_010e_v1.02
Ocorrências no XSD
1–1 no contexto do elemento pai
Tipo
ds:ReferenceType
Preenchimento no catálogo
Condicional

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.