0Pricing
Cryptology Academy · Lección

Fundamentos de la línea de comandos de OpenSSL

Domine los comandos esenciales de OpenSSL para generar claves, cifrar, calcular hashes e inspeccionar certificados.

Fundamentos de la línea de comandos de OpenSSL es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Información sobre la versión y la compilación de OpenSSL

El comando "openssl version -a" muestra la versión de OpenSSL, la fecha de compilación, el compilador y las opciones configuradas. Verificar la versión es importante porque las capacidades y los valores predeterminados criptográficos difieren considerablemente entre OpenSSL 1.0.x, 1.1.x y 3.x. Muchos algoritmos antiguos están deshabilitados de forma predeterminada en las versiones más recientes por motivos de seguridad.

Generación de claves RSA

El comando "openssl genrsa -out private.pem 4096" genera una clave privada RSA de 4096 bits en formato PEM. Para uso en producción, 2048 bits es el mínimo, 3072 bits proporcionan una seguridad de aproximadamente 128 bits y 4096 bits ofrecen un margen adicional. Las claves pueden cifrarse con AES en reposo si se añade "-aes256" al comando, que solicitará una frase de contraseña.

Generación de claves EC

Las claves de curva elíptica se generan en dos pasos. Primero, "openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem" genera una clave privada EC mediante la curva P-256. Como alternativa, puede usar "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem", que emplea la interfaz genpkey más reciente y es la opción preferida para el código nuevo.

Visualización de los detalles de las claves

El contenido de las claves puede inspeccionarse con "openssl rsa -text -noout -in private.pem" para las claves RSA; el comando muestra el módulo, el exponente público y los factores primos. Para las claves EC, "openssl ec -text -noout -in ec_private.pem" muestra el nombre de la curva y el valor de la clave. La opción "-noout" suprime la salida codificada en PEM.

Generación de datos aleatorios

OpenSSL puede generar bytes aleatorios criptográficamente seguros: "openssl rand -hex 32" muestra 32 bytes aleatorios en hexadecimal (64 caracteres hexadecimales), adecuados para generar claves simétricas o nonces. "openssl rand -base64 32" muestra bytes aleatorios codificados en Base64. Para ello utiliza la fuente de entropía del sistema operativo (/dev/urandom en sistemas Unix).

Cálculo de hashes

El comando "openssl dgst" calcula resúmenes de mensajes: "openssl dgst -sha256 file.txt" calcula el hash SHA-256 de un archivo. "openssl dgst -sha256 -hmac key file.txt" calcula un HMAC-SHA256. "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt" crea una firma digital sobre el archivo.

Cifrado de archivos

El cifrado simétrico de archivos utiliza "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin". La opción "-pbkdf2" utiliza PBKDF2 para derivar la clave a partir de la frase de contraseña, en sustitución del obsoleto EVP_BytesToKey. Para descifrar: "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt". Para código nuevo, se prefieren los modos AEAD, como AES-256-GCM.

Conversión entre los formatos PEM y DER

Los certificados y las claves existen en dos formatos de codificación. PEM está codificado en Base64 e incluye líneas de encabezado y pie (-----BEGIN CERTIFICATE-----); lo utilizan la mayoría de las herramientas de Unix. DER es una codificación binaria que utilizan Java y Windows. Para convertir de PEM a DER: "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der". Para convertir de DER a PEM, invierta las opciones -inform/-outform.

Verificación de firmas

Para verificar una firma digital: "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt". Primero debe extraerse la clave pública: "openssl rsa -pubout -in private.pem -out public.pem". Para la verificación basada en certificados, "openssl verify -CAfile ca.pem cert.pem" comprueba el certificado con la cadena de CA especificada.

Comprobación de los detalles del certificado

La inspección de certificados es una de las tareas más habituales con OpenSSL: "openssl x509 -text -noout -in cert.pem" muestra todos los campos del certificado, incluidos el sujeto, el emisor, las fechas de validez, los SAN y las extensiones. "openssl x509 -enddate -noout -in cert.pem" muestra únicamente la fecha de expiración, lo que resulta útil en scripts de monitorización.

Conexión a servidores TLS

"openssl s_client -connect example.com:443 -servername example.com" establece una conexión TLS y muestra la cadena de certificados del servidor, la versión de TLS negociada y el conjunto de cifrado. Al añadir "-showcerts" se muestran todos los certificados de la cadena. Esto resulta muy útil para depurar problemas de la cadena de certificados, problemas con la versión de TLS y el stapling de OCSP.

Comprobación de openssl genrsa

¿Qué hace el comando "openssl genrsa -aes256 -out private.pem 2048"?

Resumen de la lección: conceptos básicos de OpenSSL CLI

OpenSSL proporciona comandos para generar claves (genrsa, genpkey), convertir formatos (PEM/DER), generar datos aleatorios (rand), calcular hashes y firmar (dgst), cifrar archivos (enc), inspeccionar certificados (x509 -text), verificar cadenas (verify) y depurar TLS (s_client). Estas funciones cubren la gran mayoría de las tareas cotidianas relacionadas con certificados y criptografía.

Preguntas frecuentes

¿La lección «Fundamentos de la línea de comandos de OpenSSL» es gratis?

Sí — el texto completo de «Fundamentos de la línea de comandos de OpenSSL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Fundamentos de la línea de comandos de OpenSSL»?

Domine los comandos esenciales de OpenSSL para generar claves, cifrar, calcular hashes e inspeccionar certificados. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Fundamentos de la línea de comandos de OpenSSL»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de la línea de comandos de OpenSSL
  2. Creación y gestión de cadenas de certificados
  3. OCSP Stapling y Certificate Transparency
  4. Let's Encrypt y automatización del protocolo ACME
← Volver a Cryptology Academy