O Guia Definitivo de Certificados SSL/TLS: X.509, PEM e Padrões Modernos
Quando vê o ícone do cadeado na barra de endereços do seu navegador, sabe que a sua ligação é segura. Mas por trás desse pequeno ícone reside uma infraestrutura complexa de certificados digitais, chaves criptográficas e autoridades de confiança.
Este guia irá desmistificar os certificados SSL/TLS, explicando os formatos, os intervenientes e os protocolos que mantêm a web segura.
1. O que é um Certificado X.509?
X.509 é o padrão internacional para o formato de certificados de chave pública. Quando alguém se refere a um "Certificado SSL", está na verdade a falar de um certificado X.509.
Um certificado X.509 liga uma Chave Pública a uma Identidade (como um nome de domínio ou uma empresa) e é assinado digitalmente por uma Autoridade de Certificação (CA).
2. Formatos de Certificado Comuns
Os certificados surgem em várias extensões de ficheiro, o que pode ser confuso. As duas principais formas de codificar um certificado são:
PEM (Privacy Enhanced Mail)
Este é o formato mais comum utilizado por servidores web como Apache e Nginx.
- Extensão:
.pem,.crt,.cer,.key - Formato: Texto ASCII codificado em Base64. Começa com
-----BEGIN CERTIFICATE-----.
DER (Distinguished Encoding Rules)
Uma versão binária de um certificado. Frequentemente utilizado em ambientes baseados em Java ou Windows.
- Extensão:
.der,.cer - Formato: Dados binários.
PKCS#12 (PFX)
Um formato de "pacote" que pode armazenar o certificado, a cadeia intermédia e a chave privada num único ficheiro protegido por palavra-passe.
- Extensão:
.p12,.pfx - Caso de uso: Mover certificados entre servidores ou instalá-los em Windows/IIS.
3. O Ciclo de Vida: De CSR a CA
Como se obtém um certificado?
- Gerar uma Chave Privada: Cria uma chave secreta que permanece no seu servidor.
- Criar um CSR (Certificate Signing Request): Este é um ficheiro que contém a sua chave pública e informações de identidade.
- Submissão: Envia o CSR para uma CA (Autoridade de Certificação) como Let's Encrypt, DigiCert ou Sectigo.
- Verificação: A CA verifica se é realmente o proprietário do domínio.
- Emissão: A CA assina o seu certificado e envia-o de volta.
4. Padrões Modernos: TLS 1.3 e Além
Embora ainda lhes chamemos "certificados SSL", o protocolo SSL em si é antigo e inseguro. Agora utilizamos TLS (Transport Layer Security).
TLS 1.3: O Padrão Atual
Lançado em 2018, o TLS 1.3 é mais rápido e seguro que os seus antecessores.
- Velocidade: Reduz o número de "handshakes" necessários para estabelecer uma ligação, fazendo com que os sites carreguem mais depressa.
- Segurança: Removeu algoritmos de encriptação antigos e inseguros (como MD5 e SHA-1).
SNI (Server Name Indication)
O SNI é uma extensão do TLS que permite que um único servidor (com um endereço IP) aloje múltiplos certificados SSL para diferentes domínios. É isto que torna possível o alojamento partilhado moderno e as CDNs.
OCSP (Online Certificate Status Protocol)
O OCSP é um método para os navegadores verificarem se um certificado foi revogado (ex: se a chave privada foi roubada) antes da sua data de expiração.
5. Tabela de Resumo de Extensões
| Extensão | Formato | Contém | Caso de Uso |
|---|---|---|---|
| .pem / .crt | PEM (Texto) | Apenas Certificado | Servidores Linux (Nginx/Apache) |
| .key | PEM (Texto) | Chave Privada | Servidores Linux (Nginx/Apache) |
| .p12 / .pfx | PKCS#12 (Binário) | Cert + Chave + Cadeia | Windows (IIS), Java |
| .csr | PEM (Texto) | Pedido de Assinatura | Candidatura a certificado |
Boas Práticas
- Mantenha a sua Chave Privada segura: Se alguém roubar o seu ficheiro
.key, pode fazer-se passar pelo seu servidor. - Utilize Let's Encrypt: Para a maioria dos sites, o Let's Encrypt oferece certificados gratuitos e automatizados que são tão seguros como os pagos.
- Monitorize a Expiração: Utilize ferramentas para o alertar antes de o seu certificado expirar, evitando erros de "A sua ligação não é privada".
- Desative Protocolos Antigos: Garanta que o seu servidor está configurado para permitir apenas TLS 1.2 e TLS 1.3.
Conclusão
Os certificados SSL/TLS são a base da confiança na internet. Embora os detalhes técnicos como X.509 e PEM possam parecer complexos ao início, o princípio central é simples: eles provam que você é quem diz ser e que os dados dos seus utilizadores permanecem privados.
Precisa de converter um formato de certificado ou verificar um hash? Embora ainda não tenhamos uma ferramenta SSL dedicada, pode utilizar o nosso Gerador de Hash para verificar a integridade dos seus ficheiros de certificado.