Pular para o conteúdo
Fiscal ProBiblioteca
NF-e e NFC-e · Suplemento, assinatura e protocolo

Algorithm de DigestMethod: SHA-1 na referência do protocolo

@AlgorithmnfeProc › protNFe › ds:Signature › ds:SignedInfo › ds:Reference › ds:DigestMethod › @Algorithm

Revisão editorial em 15 de out. de 2026. As versões e condições das regras estão indicadas ao longo do artigo.

Algorithm de DigestMethod, em /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:Reference/ds:DigestMethod/@Algorithm, identifica o método de resumo da referência. No pacote PL_010f_v1.04 ele é obrigatório, do tipo anyURI, e tem valor fixo http://www.w3.org/2000/09/xmldsig#sha1.

Por que anyURI não libera outros algoritmos

O tipo lexical permite representar uma URI, mas o valor fixo limita o conteúdo aceito nesse schema. sha1 abreviado, rsa-sha1 ou uma URI SHA-256 não são substitutos do valor declarado. Não altere o atributo em um protocolo recebido para satisfazer um teste.

A URI é um identificador de método, não o endereço de um serviço que calcula o hash. O verificador usa uma implementação local confiável e selecionada para o perfil; não deve buscar código ou dados em endereço remoto indicado por uma resposta desconhecida.

Representação do atributo

Fragmento sintético parcial, que não contém resumo nem assinatura operacional:

<DigestMethod xmlns="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>

A grafia de Algorithm e a URI inteira importam. O valor do hash é outra informação: está em DigestValue, em base64. Uma sequência hexadecimal de 40 caracteres pode representar um SHA-1 em outra codificação, mas não deve ser colocada ali por ser visualmente familiar.

Exemplos de diagnóstico sem troca por tentativa

Se uma biblioteca informa algoritmo não suportado, confira a URI declarada, o suporte da biblioteca e o perfil fiscal carregado. Se informa digest divergente, a URI pode estar correta: compare o objeto selecionado pela Reference, as transformações e os bytes resultantes. Trocar o algoritmo não resolve uma seleção de alvo errada.

Num segundo cenário, a biblioteca devolve o digest em hexadecimal e o XML o contém em base64. A comparação de textos falha, embora os bytes possam coincidir. Normalize a representação apenas na memória do verificador e compare os bytes; preserve o XML original.

SignatureMethod/@Algorithm possui a URI rsa-sha1 para uma operação diferente, a assinatura de SignedInfo. CanonicalizationMethod/@Algorithm identifica normalização XML. Essas três funções precisam ser registradas separadamente no diagnóstico. Aprovação estrutural não equivale à verificação criptográfica nem à autorização fiscal.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/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
Condicional
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.