Documentación de Uso de OpenSSL
OpenSSL es un potente paquete de herramientas de código abierto diseñado para habilitar comunicaciones seguras. Proporciona funciones de cifrado, descifrado y protocolos SSL/TLS, entre otros. ServBay incluye OpenSSL de fábrica, y en este documento se detallará cómo instalar, configurar y utilizar OpenSSL paso a paso.
Instalación y Configuración
Instalación
ServBay ya incluye OpenSSL preinstalado, por lo que no es necesario realizar una instalación adicional.
Configuración
El archivo de configuración de OpenSSL suele ubicarse en el directorio /Applications/ServBay/package/common/openssl/3.2
(para chips Intel, en /Applications/ServBay/package/common/openssl/1.1.1u
). El archivo de configuración predeterminado es openssl.cnf
. Puedes modificar este archivo según tus necesidades para ajustar el comportamiento de OpenSSL.
Ejemplo de contenido de archivo de configuración:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (ej., ciudad)
0.organizationName = Organization Name (ej., empresa)
organizationalUnitName = Organizational Unit Name (ej., departamento)
commonName = Common Name (ej., nombre de host completo)
commonName_max = 64
[ req_attributes ]
challengePassword = Una contraseña de desafío
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Uso Básico
OpenSSL proporciona una amplia variedad de utilidades de línea de comandos para diferentes tareas de cifrado y gestión de certificados. A continuación, algunos ejemplos básicos de uso:
Generar Claves Privada y Pública
Generar una clave privada RSA
bash
openssl genpkey -algorithm RSA -out private_key.pem
1
Generar una clave pública a partir de la clave privada
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
Generar una Solicitud de Firma de Certificado (CSR)
Generar un CSR
bash
openssl req -new -key private_key.pem -out request.csr
1
Certificado Autofirmado
Generar un certificado autofirmado
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
Gestión de Certificados
Ver Información del Certificado
Ver información de un CSR
bash
openssl req -text -noout -verify -in request.csr
1
Ver información de un certificado
bash
openssl x509 -text -noout -in certificate.crt
1
Convertir el Formato de Certificados
Convertir de PEM a DER
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
Convertir de DER a PEM
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
Cifrado y Descifrado
Cifrado Simétrico
Cifrar archivos usando AES
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
Descifrar archivos usando AES
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
Cifrado Asimétrico
Cifrar archivos con clave pública
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
Descifrar archivos con clave privada
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
Preguntas Frecuentes
1. No puedo ejecutar comandos OpenSSL
- Solución: Asegúrate de que las variables de entorno de ServBay estén correctamente configuradas. Si el problema persiste, intenta ir a "Configuración" en ServBay y ajusta la sección “Herramientas de línea de comandos” para
zsh
ybash
, luego vuelve a abrir la terminal.
2. El certificado generado no es válido
- Solución: Verifica que la información en el archivo de solicitud de certificado (CSR) y en el archivo de configuración sea correcta. Asegúrate de que todos los campos obligatorios estén completos.
3. Error en cifrado o descifrado
- Solución: Comprueba que la clave y el algoritmo utilizados coincidan correctamente. Revisa también las rutas de los archivos de entrada y salida.
Resumen
OpenSSL es un paquete de herramientas potente y flexible, ideal para una amplia variedad de tareas de comunicación segura y cifrado. Con esta guía, puedes aprender a instalar, configurar y usar OpenSSL en ServBay para la gestión de certificados y el cifrado de datos.