> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Renovação e revogação

> O que se renova por conta própria, o que não se renova, como a revogação difere da exclusão e todos os status que um certificado pode ter.

<a id="renewal" />

## Renovação

Os certificados emitidos pela plataforma são renovados automaticamente, a partir de **30 dias antes de `expires_at`**. A janela é deliberadamente larga: ela deixa espaço para muitas tentativas antes que algo realmente expire, então um problema transitório de DNS ou autoridade não é uma interrupção.

A renovação reutiliza a delegação de desafio existente, de modo que um CNAME que você publicou uma vez continua funcionando. `fingerprint` mudanças — esse é o sinal para qualquer coisa que tenha o material que há uma nova geração para pegar.

Uma renovação que falha é re-tentada, mas não imediatamente: um certificado cuja última tentativa foi há menos de seis horas é ignorado, então um CNAME preso ou uma autoridade que tem um dia ruim é re-tentada em uma cadência razoável em vez de em cada passagem.

<Info>
  Os certificados carregados são excluídos da renovação. Consulte [Fazendo upload do seu próprio certificado](/pt/certificates/uploading).
</Info>

<a id="revoking" />

## Revogação

<Tabs>
  <Tab title="Console">
    Abra o certificado e escolha **Settings**. Em **Danger zone**, clique em **Revoke certificate** e digite o nome do certificado para confirmar. Apenas certificados ativos ou expirados podem ser revogados.

    A página mostra **Revocation requested** enquanto verifica a conclusão. O status do certificado permanece inalterado até que a revogação seja concluída. Se a conclusão não puder ser confirmada, use **Check status** para retomar a verificação. A exclusão permanece indisponível enquanto a conclusão não for confirmada. Sair ou recarregar a página interrompe o rastreamento; verifique o status quando retornar.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    POST /v1/certificates/{certificate_id}/revoke
    ```
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    basaltic certificate revoke <certificate-id>
    ```
  </Tab>

  <Tab title="Go">
    ```go theme={null}
    crt, err := certificate.New(cfg).RevokeCertificate(ctx, certificateID)
    ```
  </Tab>
</Tabs>

<Warning>
  A revogação não pode ser desfeita. A exclusão remove o certificado da sua conta, enquanto a revogação solicita que a autoridade emissora o marque como inválido para que os clientes que verificam a revogação deixem de confiar nele. Se a chave privada tiver vazado, revogue — excluir sozinho deixa um certificado que ainda valida.
</Warning>

A revogação é assíncrona: a chamada retorna **`202`** com o certificado ainda em seu estado anterior, e você sonda até que `status` seja `revoked`. Um certificado carregado é revogado localmente, sem entrar em contato com uma autoridade. Entre em contato com a autoridade emissora separadamente para invalidá-lo para clientes externos. Revogar algo já revogado é um no-op, não um erro.

<a id="statuses" />

## Status

```mermaid theme={null}
stateDiagram-v2
    [*] --> pending_dns: create (acme), challenges included
    [*] --> active: create (uploaded)
    pending_dns --> active: every challenge verified
    pending_dns --> error: issuance failed or validation timed out
    active --> revoked: revoke
    active --> expired: expires_at reached
```

| Status do produto | Significado da palavra |
| - | - |
| `pending` | Um certificado mais antigo aguardando planejamento de desafio. Novas respostas de criação ACME começam em `pending_dns`. |
| `pending_dns` | Os desafios de DNS estão prontos, inclusive na resposta de criação. Uma entrada por domínio normalizado; a emissão prossegue quando todos são `verified`. |
| `active` | Assinado e utilizável. `certificate_pem`, `fingerprint` e `expires_at` são definidos. |
| `error` | Emissão falhou. Leia cada entrada em `faults`. Uma falha de renovação é um `warning` enquanto o material válido ainda está sendo servido, e um `error` quando ele expirou. |
| `expired` | Passou `expires_at` sem uma renovação bem sucedida. |
| `revoked` | Revogação concluída. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.