Id de SignatureValue no protocolo: identificador da assinatura da SEFAZ
@IdnfeProc › protNFe › ds:Signature › ds:SignatureValue › @IdRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
O atributo Id de SignatureValue, em /nfeProc/protNFe/ds:Signature/ds:SignatureValue/@Id, identifica o elemento que contém o valor da assinatura da SEFAZ. Ele não contém essa assinatura e não é o número do protocolo. O XSD XMLDSig do pacote PL_010f_v1.04 declara esse atributo como opcional, do tipo ID.
Que identificação é esta?
Há três informações diferentes: SignatureValue armazena bytes de assinatura em base64; seu Id, se presente, dá um identificador XML a esse elemento; infProt/@Id identifica as informações do protocolo que a assinatura referencia. Já nProt é a numeração devolvida pelo autorizador. A regra PR04 de formar um identificador com o literal ID e o número do protocolo pertence a infProt/@Id, não a SignatureValue/@Id.
A assinatura sob protNFe pertence à resposta da SEFAZ. A assinatura sob NFe tem outro objeto e outro papel. PR90 deixa a assinatura da resposta a critério da UF; não se deve fabricar o atributo ou uma assinatura ausente.
Como ler sem transformar um identificador em prova
Como representação textual, suponha um elemento SignatureValue com identificador didático valorRespostaA; a sequência em base64 continua sendo outra informação. Esse nome exemplifica somente a função do atributo. Não há XML completo de assinatura neste exemplo, pois faltam o valor original, o certificado e os dados efetivamente assinados; não se pode produzir uma assinatura válida por preencher um identificador.
O tipo XML ID exige um nome válido e unicidade no documento validado. Valores iniciados por algarismo ou contendo espaços não servem como nomes XML desse tipo. Maiúsculas importam: Id, ID e id não são o mesmo nome de atributo.
Como investigar uma falha de ID
Primeiro localize o atributo no XML original e confirme seus ancestrais: um erro em infProt/@Id não se resolve em SignatureValue/@Id. Depois valide o documento com o pacote correto e procure a mesma identificação em outros atributos tipados como ID. Se a integração concatenou arquivos e criou duplicatas, corrija a montagem ou recupere a resposta original, preservando os bytes recebidos. Não renomeie a identificação dentro de um protocolo assinado para fazer o validador passar.
A ausência desse Id opcional não comprova defeito. A presença, mesmo com XSD válido, também não comprova integridade, confiança no signatário ou autorização. Para isso são necessários verificação criptográfica, vínculo com a NF-e e leitura do status oficial.
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:SignatureValue/@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.