Certificado de assinatura fora da data de validade
Rejeição 291: Certificado Assinatura Data Validade
SignatureX509CertificatesignatureO que significa esta rejeição
A SEFAZ recusa a nota porque o certificado usado para assinar o XML está fora do período de validade no momento da assinatura: ou já venceu (notAfter no passado) ou ainda não entrou em vigor (notBefore no futuro). Esse é o ponto central da 291: a data de validade do certificado de assinatura, não a relação dele com o transmissor.
Na prática quase sempre é o e-CNPJ A1 anual que expirou e ninguém renovou. A assinatura digital carimba a nota com o certificado, e a SEFAZ confere se aquele certificado estava válido naquele instante. Fora do intervalo, a 291 aparece.
A correção é renovar ou trocar o certificado A1 e reassinar a nota, não editar o conteúdo do documento.
Causas mais comuns
- Certificado A1 com validade de 12 meses expirou e não foi renovado.
- Certificado novo já emitido, mas o emissor continua usando o
.pfxantigo e vencido. - Relógio do servidor adiantado ou atrasado, acusando vencimento fora da hora real.
- Certificado adquirido para uso futuro (
notBeforeno futuro) e usado antes da data de início. - Nota reaproveitada de uma fila antiga, assinada quando o certificado já estava fora de validade.
Regra de validação oficial
A SEFAZ verifica, no momento da assinatura, se a data corrente está dentro do intervalo de validade do certificado de assinatura: notBefore <= agora <= notAfter. Se a assinatura foi produzida com um certificado vencido ou ainda não vigente, a nota é rejeitada com a 291. O Anexo I do MOC traz a descrição oficial; consulte o texto integral para o detalhamento da regra.
Exemplo XML, antes (errado)
Retorno da SEFAZ quando o certificado de assinatura está vencido:
<retEnviNFe>
<cStat>291</cStat>
<xMotivo>Rejeicao: Certificado Assinatura Data Validade</xMotivo>
</retEnviNFe>Diagnóstico do certificado usado na assinatura (já expirado):
<Signature>
<KeyInfo>
<X509Data>
<X509Certificate>
CN=COOPERATIVA VALE DO CAFE LTDA:12345678000199
notBefore=2025-04-30 notAfter=2026-04-30
(assinatura gerada em 2026-05-22, fora da validade)
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>Exemplo XML, depois (correto)
Mesmo emitente, certificado renovado e dentro da validade no momento da assinatura:
<Signature>
<KeyInfo>
<X509Data>
<X509Certificate>
CN=COOPERATIVA VALE DO CAFE LTDA:12345678000199
notBefore=2026-05-15 notAfter=2027-05-14
(assinatura gerada em 2026-05-22, dentro da validade)
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>Passo a passo para corrigir
- Confira a validade (
notBefore/notAfter) do certificado de assinatura usado pelo emissor. - Se estiver vencido, contate a Autoridade Certificadora (Serasa, Soluti, Safeweb, Certisign, etc.) e renove o e-CNPJ.
- Para A1, baixe o novo arquivo
.pfx/.p12e substitua no emissor, atualizando a senha se mudou. - Sincronize o relógio do servidor por NTP antes de reassinar, para descartar falso vencimento.
- Reassine e reenvie as notas pendentes com o certificado renovado.
Como o FazendaNota previne
O FazendaNota trabalha com certificado A1 (arquivo .pfx/.p12) e avisa quando o certificado está perto do vencimento, para que a renovação aconteça antes de a emissão parar. No cadastro, certificados inválidos ou já vencidos são recusados, evitando que uma nota seja assinada e depois barrada pela SEFAZ com a 291. O FazendaNota não suporta certificado A3/token.
Rejeições relacionadas
- Rejeição 280, Certificado transmissor inválido
- Rejeição 282, Certificado do transmissor sem CNPJ ou CPF
- Rejeição 297, Assinatura difere do calculado
Referência oficial
Esta rejeição está descrita no Anexo I - Leiaute e Regra de Validação do Manual de Orientação do Contribuinte (MOC) v7.0 da NF-e, publicado pelo CONFAZ. Texto integral em https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf