X509Certificate de protNFe: certificado público da SEFAZ assinante
<X509Certificate>nfeProc › protNFe › ds:Signature › ds:KeyInfo › ds:X509Data › ds:X509CertificateRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
X509Certificate em protNFe/Signature/KeyInfo/X509Data transporta o certificado público da autoridade que assinou o protocolo. É um ramo diferente do certificado da assinatura da própria NFe.
Caminho desta página: /nfeProc/protNFe/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate. O alias ds neste XPath representa o namespace http://www.w3.org/2000/09/xmldsig#; ele permite localizar o elemento, mas não exige esse prefixo na serialização fiscal.
Como se lê o conteúdo e quando ele existe?
A assinatura do protocolo é opcional; se ela estiver presente, o caminho de certificado é exigido pelo tipo fiscal. O conteúdo de X509Certificate é base64Binary: depois de decodificar, é necessário interpretar os bytes como certificado X.509 e extrair a chave pública.
O schema testa a representação, não a identidade, cadeia ou validade do certificado. Uma sequência como AA== representa apenas um byte e não é um certificado. Não se oferece XML completo com dados fictícios da autoridade; o certificado operacional deve vir do retorno original.
Por que pode diferir do certificado da nota?
A nota e o protocolo são produzidos por autores distintos. O certificado do emitente ou do provedor em NFe/Signature verifica a assinatura desse ramo; o certificado em protNFe/Signature verifica a resposta assinada pela autoridade. A igualdade entre eles não é uma condição geral do documento processado.
O verificador precisa ligar a chave pública ao SignatureValue e ao SignedInfo da mesma assinatura, cujo alvo é infProt. Também deve avaliar a confiança da autoridade de acordo com o contexto. Não transplante ao protocolo a regra comum de comparação de CNPJ-base/CPF do emitente, e não substitua o certificado pelo usado no TLS.
XMLDSig: processamento e elementos.
Como investigar uma falha de certificado da resposta?
Se Base64 está truncado, compare a resposta original com a persistida. Se os bytes não formam certificado, investigue o campo armazenado. Se a assinatura matemática falha, confira o certificado selecionado, a referência a infProt e a canonicalização. Se a matemática confere e a confiança falha, examine a cadeia, validade e revogação sem mudar o XML.
Preserve os resultados de cada etapa. Não publique senha, chave privada ou arquivo PFX em um campo de certificado público. Mesmo uma verificação completa favorável não elimina a necessidade de ler cStat/xMotivo, correlacionar chave e ambiente e consultar a situação atual quando necessário.
MOC: resposta e protocolo, pp. 76–77.
Fontes e contexto
Schema específico XMLDSig da NF-e — PL_010f_v1.04 / xmldsig-core-schema_v1.01.xsd; Leiaute da NF-e e protocolo — PL_010f_v1.04 / leiauteNFe_v4.00.xsd; MOC — Visão Geral — 7.0; XML Signature Syntax and Processing — 1.1, Recommendation 11/04/2013; XML Schema Part 2: Datatypes — Second Edition, 28/10/2004.
Referência técnica para integração
- XPath completo
/nfeProc/protNFe/ds:Signature/ds:KeyInfo/ds:X509Data/ds:X509Certificate- 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
- base64Binary
- 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.