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

Algorithm de SignatureMethod no protocolo: a URI RSA-SHA1

@AlgorithmnfeProc › protNFe › ds:Signature › ds:SignedInfo › ds:SignatureMethod › @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 SignatureMethod identifica o método da assinatura de SignedInfo no protocolo da SEFAZ. Seu caminho é /nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:SignatureMethod/@Algorithm. No schema fiscal PL_010f_v1.04 ele é obrigatório, anyURI e fixado em http://www.w3.org/2000/09/xmldsig#rsa-sha1.

Como interpretar rsa-sha1

A URI descreve uma assinatura RSA com SHA-1 segundo XMLDSig. Ela não contém a chave pública, o certificado nem a assinatura. KeyInfo/X509Data/X509Certificate transporta a informação de certificado da assinatura, enquanto SignatureValue guarda os bytes do resultado.

DigestMethod/@Algorithm tem a URI sha1 e calcula o resumo da referência. CanonicalizationMethod/@Algorithm tem a URI de normalização C14N. Compartilhar SHA-1 em duas operações não torna essas operações intercambiáveis: a referência resume seu objeto; SignatureMethod atua sobre SignedInfo canonicalizado.

Fragmento para conferência exata

Trecho sintético parcial, sem assinatura ou documento fiscal válido:

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

Confira a URI integral e o atributo com sua grafia exata. Não substitua por sha1, por rsa-sha256 ou por uma URI com https por ajuste de texto. O uso de anyURI não remove a restrição de valor fixo.

O que a URI não prova

Um retorno pode declarar o algoritmo esperado e ainda conter uma assinatura inválida, um alvo incorreto ou um certificado sem confiança. A validação do XSD confirma a declaração, não a execução bem-sucedida das operações. A confiança também não vem do certificado usado para a conexão de transmissão: são papéis separados.

Exemplo: a biblioteca reconheceu rsa-sha1, mas verificou SignatureValue usando o certificado da empresa que enviou a nota, embora o contexto seja a resposta da SEFAZ. O método reconhecido não corrige a identidade errada do signatário. Confira a assinatura efetivamente examinada, o certificado correspondente e sua confiança.

Como tratar incompatibilidade sem alterar o retorno

Separe método não suportado, política criptográfica da biblioteca, assinatura divergente e cadeia não confiável. Registre versão da biblioteca, pacote fiscal, URI e erro. Investigue a compatibilidade do verificador e preserve o XML original; não troque algoritmo ou certificado por tentativa, não desative confiança e não reinsira SignatureValue.

PR90 deixa a assinatura do protocolo a critério da UF. Uma resposta sem essa assinatura não recebe este atributo por iniciativa do emissor. A presença do atributo não substitui cStat/xMotivo nem comprova situação atual da nota.

Leituras relacionadas

Fontes oficiais

Referência técnica para integração

XPath completo
/nfeProc/protNFe/ds:Signature/ds:SignedInfo/ds:SignatureMethod/@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#rsa-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.