0Pricing
Cryptology Academy · Aula

Fundamentos da Linha de Comando do OpenSSL

Domine os comandos essenciais do OpenSSL para geração de chaves, criptografia, hashing e inspeção de certificados.

Fundamentos da Linha de Comando do OpenSSL é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Informações sobre a versão e a compilação do OpenSSL

O comando "openssl version -a" exibe a versão do OpenSSL, a data de compilação, o compilador e as opções configuradas. Verificar a versão é importante porque os recursos e padrões criptográficos diferem significativamente entre o OpenSSL 1.0.x, 1.1.x e 3.x. Muitos algoritmos mais antigos são desativados por padrão nas versões mais recentes por motivos de segurança.

Geração de chaves RSA

O comando "openssl genrsa -out private.pem 4096" gera uma chave privada RSA de 4096 bits no formato PEM. Para uso em produção, 2048 bits é o mínimo, 3072 bits fornecem aproximadamente 128 bits de segurança e 4096 bits oferecem uma margem adicional. As chaves podem ser criptografadas com AES enquanto estão armazenadas, adicionando "-aes256" ao comando, que solicitará uma frase secreta.

Geração de chaves EC

As chaves de curva elíptica são geradas em duas etapas. Primeiro: "openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem" gera uma chave privada EC usando a curva P-256. Alternativa: "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem", usando a interface genpkey mais recente, preferida para código novo.

Visualização dos detalhes das chaves

O conteúdo das chaves pode ser inspecionado com "openssl rsa -text -noout -in private.pem" para chaves RSA, exibindo o módulo, o expoente público e os fatores primos. Para chaves EC, "openssl ec -text -noout -in ec_private.pem" exibe o nome da curva e o valor da chave. O sinalizador "-noout" suprime a saída codificada em PEM.

Geração de dados aleatórios

O OpenSSL pode gerar bytes aleatórios criptograficamente seguros: "openssl rand -hex 32" produz 32 bytes aleatórios em hexadecimal, ou 64 caracteres hexadecimais, adequados para gerar chaves simétricas ou valores de uso único. "openssl rand -base64 32" produz bytes aleatórios codificados em base64. Isso usa a fonte de entropia do OS (/dev/urandom em sistemas Unix).

Cálculo de resumos criptográficos

O comando "openssl dgst" calcula resumos de mensagens: "openssl dgst -sha256 file.txt" calcula o resumo SHA-256 de um arquivo. "openssl dgst -sha256 -hmac key file.txt" calcula um HMAC-SHA256. "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt" cria uma assinatura digital para o arquivo.

Criptografia de arquivos

A criptografia simétrica de arquivos usa "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin". A opção "-pbkdf2" usa PBKDF2 para derivar a chave a partir da frase secreta, substituindo EVP_BytesToKey, que está obsoleto. Para descriptografar: "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt". Os modos AEAD, como AES-256-GCM, são preferidos para códigos novos.

Conversão entre os formatos PEM e DER

Os certificados e as chaves existem em dois formatos de codificação. PEM usa codificação base64 com linhas de cabeçalho e rodapé (-----BEGIN CERTIFICATE-----), utilizada pela maioria das ferramentas Unix. DER é uma codificação binária, usada por Java e Windows. Para converter PEM em DER: "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der". Para converter DER em PEM, inverta as opções -inform/-outform.

Verificação de assinaturas

Verificação de assinaturas digitais: "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt". A chave pública deve primeiro ser extraída: "openssl rsa -pubout -in private.pem -out public.pem". Para verificação baseada em certificados: "openssl verify -CAfile ca.pem cert.pem" verifica o certificado em relação à cadeia de CA especificada.

Verificação dos detalhes do certificado

A inspeção de certificados é uma das tarefas mais comuns do OpenSSL: "openssl x509 -text -noout -in cert.pem" exibe todos os campos do certificado, incluindo o assunto, o emissor, as datas de validade, os nomes alternativos do assunto (SAN) e as extensões. "openssl x509 -enddate -noout -in cert.pem" mostra apenas a data de expiração, o que é útil em rotinas de monitoramento.

Conexão com servidores TLS

"openssl s_client -connect example.com:443 -servername example.com" estabelece uma conexão TLS e exibe a cadeia de certificados do servidor, a versão do TLS negociada e o conjunto de cifras. A adição de "-showcerts" exibe todos os certificados da cadeia. Isso é extremamente útil para depurar problemas na cadeia de certificados, problemas de versão do TLS e de anexação do OCSP.

Verificação de genrsa do OpenSSL

O que o comando "openssl genrsa -aes256 -out private.pem 2048" faz?

Recapitulação da lição: conceitos básicos da CLI do OpenSSL

O OpenSSL fornece comandos para geração de chaves (genrsa, genpkey), conversão de formatos (PEM/DER), geração de dados aleatórios (rand), cálculo de resumos e assinatura (dgst), criptografia de arquivos (enc), inspeção de certificados (x509 -text), verificação de cadeias (verify) e depuração de TLS (s_client). Isso abrange a grande maioria das tarefas cotidianas de certificados e criptografia.

Perguntas Frequentes

A aula “Fundamentos da Linha de Comando do OpenSSL” é grátis?

Sim — o texto completo de “Fundamentos da Linha de Comando do OpenSSL” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Fundamentos da Linha de Comando do OpenSSL”?

Domine os comandos essenciais do OpenSSL para geração de chaves, criptografia, hashing e inspeção de certificados. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Fundamentos da Linha de Comando do OpenSSL”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos da Linha de Comando do OpenSSL
  2. Criação e Gerenciamento de Cadeias de Certificados
  3. OCSP Stapling e Transparência de Certificados
  4. Automação do Let's Encrypt e do Protocolo ACME
← Voltar para Cryptology Academy