Rejeição 298: Assinatura difere do padrão do Sistema
Descrição oficial da SEFAZ: Assinatura difere do padrão do Sistema
O que significa
A assinatura até existe, mas não segue o formato que o padrão da NF-e exige. É rejeição de forma, não de conteúdo: a SEFAZ nem chega a validar se o cálculo bate.
Por que acontece
O padrão é rígido: assinatura XMLDSig enveloped, canonicalização exigida pelo manual, um único elemento Signature, Reference apontando para o Id da infNFe, e KeyInfo contendo apenas o X509Certificate. Fura quem inclui a cadeia inteira do certificado, quem usa algoritmo de hash fora do previsto, quem assina o documento inteiro em vez da infNFe, ou quem coloca o Signature em posição diferente da esperada no XML.
Como resolver
Trate como problema da rotina de assinatura, não da nota. Verifique se o componente que assina implementa exatamente o perfil de assinatura do manual da NF-e vigente — transformações, algoritmos e KeyInfo com um certificado só. Atualizar ou corrigir a biblioteca de assinatura costuma resolver de uma vez para todas as notas; reemitir a nota sem mexer nisso vai rejeitar de novo.
Como evitar
Use um componente de assinatura que siga o manual oficial e teste em homologação sempre que trocar de biblioteca, de runtime ou de forma de acessar o certificado.