O Guia Abrangente do OpenSSL: Certificados e Chaves
O OpenSSL é o canivete suíço da criptografia. Esteja você gerando um novo certificado SSL para seu site, convertendo uma chave entre formatos diferentes ou depurando um problema na cadeia de certificados, o OpenSSL é a ferramenta que você usará. No entanto, sua interface de linha de comando é notoriamente complexa.
Este guia fornece um caminho claro através das tarefas mais comuns do OpenSSL, desde a geração do seu primeiro certificado autoassinado até a execução de conversões avançadas.
1. Gerando Certificados e Requisições
Antes de ter um certificado, você precisa gerar uma chave e, muitas vezes, uma Requisição de Assinatura de Certificado (CSR).
Gerador de CSR Online
Embora um gerador de CSR online seja uma maneira rápida de criar uma requisição, é mais seguro gerá-lo localmente para que sua chave privada nunca saia do seu servidor. Um CSR contém informações sobre sua organização e a chave pública que você deseja que seja assinada por uma Autoridade de Certificação (CA).
Gerador de Certificado Autoassinado
Para testes internos ou ambientes de homologação, um gerador de certificado autoassinado costuma ser suficiente. Ele permite criar um certificado que não é confiável para navegadores públicos, mas é funcionalmente idêntico para comunicação criptografada.
Guia Rápido do OpenSSL: Geração de Chaves
- Gerar uma Chave Privada RSA:
openssl genrsa -out privada.key 2048 - Gerar um CSR:
openssl req -new -key privada.key -out requisicao.csr - Gerar um Certificado Autoassinado:
openssl x509 -req -days 365 -in requisicao.csr -signkey privada.key -out certificado.crt
2. Conversão de Formatos
Plataformas e servidores diferentes exigem formatos de certificado diferentes.
Conversor de PEM para DER e DER para PEM
- PEM: O formato mais comum, geralmente
.crtou.pem. É codificado em base64 e contém texto como-----BEGIN CERTIFICATE-----. - DER: Uma representação binária do certificado, frequentemente usada por Java ou hardware especializado.
Guia Rápido do OpenSSL: Comandos de Conversão
- Conversor de PEM para DER:
openssl x509 -in cert.pem -outform der -out cert.der - Conversor de DER para PEM:
openssl x509 -in cert.der -inform der -out cert.pem
Conversor de PKCS#12 para PEM
O Windows e alguns sistemas corporativos usam o formato PKCS#12 (.p12 ou .pfx), que agrupa o certificado e a chave privada em um único arquivo protegido por senha.
- Conversor de PKCS#12 para PEM:
openssl pkcs12 -in cert.p12 -out cert.pem -nodes
3. Depuração e Validação
Nada é mais frustrante do que um erro de "Certificado Inválido". Ferramentas para decodificar e verificar seus certificados são essenciais.
Decodificador de Certificado SSL
Um decodificador de certificado SSL permite que você leia os detalhes de um arquivo de certificado em formato legível por humanos.
- Ver informações do certificado:
openssl x509 -in certificado.crt -text -noout - Ver informações do CSR:
openssl req -in requisicao.csr -text -noout
Verificador de Cadeia de Certificados
Um verificador de cadeia de certificados garante que seu servidor esteja servindo a cadeia completa, incluindo certificados intermediários. Se a cadeia estiver quebrada, dispositivos móveis e alguns navegadores mostrarão um aviso de segurança.
- Verificar um arquivo local:
openssl verify -CAfile ca-bundle.crt certificado.crt - Verificar um servidor remoto:
openssl s_client -connect google.com:4443
4. Resumo
O OpenSSL é uma ferramenta poderosa, mas intimidante. Ao usar nosso guia rápido do OpenSSL e entender as tarefas comuns como a conversão de PEM para DER ou a geração de CSR, você pode gerenciar com confiança a infraestrutura de segurança de qualquer aplicação web moderna.
Lembre-se sempre de manter suas chaves privadas em sigilo, usar algoritmos fortes (como RSA 2048+ ou ECC) e verificar suas cadeias de certificados antes de implantar em produção.