Id de SignedInfo em protNFe: identificação e integridade
@IdnfeProc › protNFe › ds:Signature › ds:SignedInfo › @IdRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
Id em /nfeProc/protNFe/ds:Signature/ds:SignedInfo/@Id é um identificador XML opcional das informações assinadas da resposta da SEFAZ. O schema o tipa como ID; ele não representa a chave de acesso nem determina qual grupo do protocolo é referenciado.
Id de SignedInfo e URI de Reference têm funções distintas
SignedInfo/@Id dá nome ao conjunto de instruções assinadas. Reference/@URI indica o objeto cujo resumo está nesse conjunto. O destino previsto no leiaute do protocolo é infProt, identificado pelo atributo próprio desse grupo. Assim, a existência de SignedInfo/@Id não faz a referência apontar para SignedInfo.
A regra de infProt/@Id, com literal ID seguido do número do protocolo quando a resposta é assinada, não define o conteúdo deste atributo de SignedInfo. Nem nProt nem a chave de acesso devem ser copiados automaticamente para ele.
O que a ausência ou a mudança significa
Se uma resposta veio sem SignedInfo/@Id, essa ausência é permitida pelo XSD. Não se deve criar uma identificação apenas porque uma ferramenta apresenta campo vazio. O grupo SignedInfo, por outro lado, é obrigatório quando a assinatura XMLDSig está presente.
O identificador integra o elemento SignedInfo. Mudar seu valor pode mudar os bytes canonicalizados que são verificados contra SignatureValue, quebrando a assinatura. Preservar o documento recebido é diferente de extrair seus dados para uma representação de consulta. Trabalhe sobre a cópia original para verificação.
Exemplo e roteiro de conferência
Imagine a identificação textual didática infoRespostaA em SignedInfo e outra, diferente, em infProt. A primeira nomeia as instruções; a segunda permite identificar o conteúdo do protocolo. Não há XML completo de assinatura no exemplo, porque seriam necessários os valores originais de referência, digest e certificado.
Em uma falha, confirme a grafia Id, o tipo ID e a unicidade no documento. Depois compare o arquivo recebido com o armazenado: serialização, reconstrução ou renomeação pode explicar a divergência. Se o software exige esse atributo onde ele é opcional, corrija a expectativa do software e teste com a resposta original. Não remende o protocolo para satisfazê-lo.
O prefixo ds nesta localização é um alias do namespace XMLDSig. Uma busca baseada apenas no prefixo literal pode deixar de localizar o elemento; associe a consulta ao URI do namespace. Validação estrutural e identidade do atributo não substituem a verificação da assinatura ou o status fiscal.
Leituras relacionadas
- Id — /nfeProc/protNFe/infProt/@Id
- URI — /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/@URI
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/@Id- Namespace
Não informado- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 0–1 no contexto do elemento pai
- Tipo
- ID
- 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.