O Que É um Certificado SSL? Identidade Digital para Servidores
Um certificado SSL é um documento digital assinado que comprova que um servidor é dono de um hostname e fornece a chave pública que permite aos clientes estabelecer uma conexão HTTPS criptografada.
Apesar do nome, os "certificados SSL" modernos são usados pelo TLS. Eles vinculam um hostname a uma chave criptográfica e são assinados por uma autoridade certificadora na qual os clientes já confiam. Quando um deploy serve o certificado errado ou um expirado, navegadores e pipelines recusam a conexão, então os certificados são uma preocupação operacional recorrente.
O que há dentro de um certificado
Um certificado contém o hostname que ele cobre, uma chave pública, um emissor e datas de validade, tudo assinado por uma autoridade certificadora. A assinatura é o que permite aos clientes confiar nele sem contatar a autoridade diretamente.
A cadeia de confiança
Navegadores e runners vêm com uma lista de autoridades raiz confiáveis. Um certificado de servidor encadeia-se para cima, através de intermediários, até uma dessas raízes. Se qualquer elo estiver faltando, a validação falha mesmo quando o próprio certificado está correto.
Validade e expiração
- Certificados têm uma data de expiração e devem ser renovados.
- Um certificado expirado quebra toda conexão de cliente.
- A renovação automatizada, como o ACME, evita indisponibilidades inesperadas.
Certificados em deploys
Pipelines frequentemente provisionam certificados para novos hostnames ou os rotacionam em uma agenda. Um load balancer ou CDN normalmente detém o certificado e termina o TLS, então o deploy precisa anexar o certificado correto ao hostname correto.
Como problemas de certificado aparecem em CI
Um job que chama um serviço interno com um certificado self-signed ou de CA customizado falha com "certificate verify failed", a menos que o runner confie nessa autoridade. O desvio de relógio em um runner também pode fazer um certificado válido parecer expirado.
Não é uma falha transitória
Erros de certificado são determinísticos: eles falham da mesma forma toda execução até que o certificado, a cadeia ou o trust store seja corrigido. São exatamente a classe de falha que a repetição não resolve, então a Latchkey os expõe em vez de mascará-los com repetições.
Principais conclusões
- Um certificado SSL/TLS vincula um hostname a uma chave pública e é assinado por uma autoridade confiável.
- A validação precisa da cadeia completa mais um certificado não expirado que corresponda ao hostname.
- Erros de certificado são determinísticos e devem ser corrigidos, não repetidos.