URI de Reference no protocolo: como localizar o infProt assinado
@URInfeProc › protNFe › ds:Signature › ds:SignedInfo › ds:Reference › @URIRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
URI de Reference identifica o objeto usado no cálculo do resumo da assinatura do protocolo. Está em /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/@URI. No XSD fiscal o atributo é obrigatório, deriva de anyURI e tem comprimento mínimo de dois caracteres. Esse mínimo não demonstra que o destino existe.
Como o alvo do protocolo é identificado
O leiaute PR03 marca infProt como grupo a assinar; PR04 define seu identificador, quando necessário, com literal ID e o número do protocolo. Uma referência local usa o sinal # seguido da identificação do alvo. Para conferir uma resposta, leia a URI recebida e resolva-a no documento original, exigindo o infProt esperado.
Não use a URI da assinatura do emitente como modelo automático. Sob NFe, a referência protege infNFe; sob protNFe, o papel é autenticar as informações do retorno da SEFAZ. A chave de acesso dentro de infProt vincula a nota, mas não substitui a resolução criptográfica da referência.
Exemplo textual de resolução
Suponha que o infProt original tenha uma identificação determinada pelo autorizador. A referência deve ser resolvida para esse elemento exato, e não para o primeiro elemento de nome semelhante. O # não faz parte do valor de Id: ele expressa a referência por fragmento na URI.
Não há XML completo de exemplo: a identificação depende de um protocolo original, e seu digest precisa corresponder aos dados assinados. Criar um número ou uma chave aqui daria falsa aparência de documento fiscal.
Falhas que exigem tratamentos diferentes
Alvo ausente: compare o retorno original com a cópia armazenada; um mapper pode ter descartado infProt/@Id. Alvo duplicado: procure colisões de ID e montagem de arquivos; não escolha uma ocorrência arbitrariamente. Alvo correto com digest diferente: confira transformações, conteúdo e bytes preservados. Método não suportado: compare o perfil do verificador com o schema utilizado.
A consulta deve considerar namespaces, e o resolvedor deve impedir referências externas arbitrárias. Uma URI desconhecida não é autorização para acessar endereços, arquivos locais ou outros recursos. Para esse fluxo fiscal, a conferência deve alcançar o grupo previsto no retorno.
Corrigir o leitor ou recuperar o original pode resolver uma falha de integração. Editar URI ou Id em protocolo assinado muda o vínculo protegido e não comprova autorização. Mesmo uma referência verificada precisa ser acompanhada de SignatureValue, confiança no signatário e leitura do status fiscal.
Leituras relacionadas
Fontes oficiais
- Schema XMLDSig NF-e/NFC-e — PL_010f_v1.04: SignatureValueType, SignedInfoType, ReferenceType, TransformsType e TTransformURI.
- Leiaute NF-e/NFC-e — PL_010f_v1.04: TProtNFe, linhas 6686–6770.
- 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/ds:Signature/ds:SignedInfo/ds:Reference/@URI- Namespace
Não informado- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- inline:anyURI · anyURI
- 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.
- minLength
2