Algorithm em DigestMethod da NF-e: identificação de SHA-1
@AlgorithmnfeProc › NFe › ds:Signature › ds:SignedInfo › ds:Reference › ds:DigestMethod › @AlgorithmRevisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.
Algorithm em Reference/DigestMethod identifica o algoritmo de hash usado no resumo dos dados referenciados. No schema fiscal examinado, ele é obrigatório e seu valor é fixo na URI de SHA-1.
Caminho desta página: /nfeProc/NFe/ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestMethod/@Algorithm. 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.
Qual literal é aceito pelo tipo específico?
O valor é http://www.w3.org/2000/09/xmldsig#sha1. O tipo base é anyURI, mas a restrição fixed impede tratar o atributo como livre. sha1, SHA-1, uma URL com https ou a URI de SHA-256 não são o literal fixado.
Fragmento parcial sintético:
<DigestMethod xmlns="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
O atributo precisa existir mesmo havendo um valor fixo no schema. O fragmento declara o método, sem calcular o resumo nem produzir uma NF-e completa.
O que o atributo não contém?
Ele não contém DigestValue, que é a representação Base64 do hash dos dados após as transformações. Também não contém a chave pública, o certificado ou SignatureValue. A URI identifica um método, sem necessidade de baixá-lo da internet durante a verificação.
SignatureMethod/@Algorithm usa a URI RSA-SHA1, que descreve outra operação. Colocar esse literal em DigestMethod confunde assinatura assimétrica e resumo; os respectivos valores precisam corresponder aos objetos corretos.
XMLDSig: processamento e elementos.
Como conferir uma emissão incompatível?
Exemplo: uma biblioteca usa SHA-256 como padrão e grava sua URI. Confira a configuração de digest do gerador e o perfil efetivamente exigido; não troque a URI no XML assinado. O algoritmo deve corresponder ao cálculo que produziu DigestValue, e qualquer alteração de SignedInfo afeta a assinatura final.
Em uma divergência, registre separadamente falha de schema, falha de digest e falha de SignatureValue. Preserve o original e valide o ajuste de geração em cenário controlado. A presença do literal certo não atesta que a conta foi executada corretamente nem comprova autorização.
MOC: perfil de assinatura, pp. 53–56.
Fontes e contexto
Schema específico XMLDSig da NF-e — PL_010f_v1.04 / xmldsig-core-schema_v1.01.xsd; MOC — Visão Geral — 7.0; XML Signature Syntax and Processing — 1.1, Recommendation 11/04/2013.
Referência técnica para integração
- XPath completo
/nfeProc/NFe/ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestMethod/@Algorithm- Namespace
Não informado- Leiaute
- 4.00 · PL_010e_v1.02
- Ocorrências no XSD
- 1–1 no contexto do elemento pai
- Tipo
- anyURI
- Preenchimento no catálogo
- Obrigatório
- Valor fixo no XSD
- http://www.w3.org/2000/09/xmldsig#sha1
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.