egistrar un certificado SSL en OpenSSL implica generar o importar los certificados necesarios para establecer conexiones seguras en un servidor. Aqu铆 te dejo los pasos comunes dependiendo de lo que quieras lograr:
1. Generar un certificado autofirmado
Si necesitas crear un certificado para pruebas locales, puedes usar OpenSSL para generarlo:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Qu茅 hace:
-
req
: Solicita crear un certificado. -
-x509
: Genera un certificado X.509 (est谩ndar para certificados digitales). -
-nodes
: Omite la protecci贸n por contrase帽a de la clave privada. -
-days 365
: El certificado ser谩 v谩lido por 365 d铆as. -
-newkey rsa:2048
: Crea una clave privada RSA de 2048 bits. -
-keyout server.key
: Guarda la clave privada en el archivoserver.key
. -
-out server.crt
: Guarda el certificado p煤blico enserver.crt
.
Usar el certificado en tu servidor:
En tu c贸digo, configura los archivos generados:
SSL_CTX_use_certificate_file(ctx, "server.crt", SSL_FILETYPE_PEM); SSL_CTX_use_PrivateKey_file(ctx, "server.key", SSL_FILETYPE_PEM);
2. Registrar un certificado firmado por una CA
Si quieres usar un certificado firmado por una Autoridad de Certificaci贸n (CA) en producci贸n, el proceso incluye:
a. Generar un CSR (Certificate Signing Request):
Usa OpenSSL para generar una solicitud de firma:
openssl req -new -key server.key -out server.csr
-
server.key
: Utiliza la clave privada generada previamente. server.csr
: Genera la solicitud de firma.
b. Enviar el CSR a una CA confiable:
Env铆a el archivo server.csr
a una CA como Let's Encrypt,
DigiCert, etc., para que firmen el certificado.
c. Recibir el certificado firmado:
La CA te enviar谩 archivos como fullchain.pem
(certificado
completo) y privkey.pem
(clave privada).
d. Configurar el certificado firmado:
En tu c贸digo del servidor, usa los archivos proporcionados por la CA:
SSL_CTX_use_certificate_file(ctx, "fullchain.pem", SSL_FILETYPE_PEM); SSL_CTX_use_PrivateKey_file(ctx, "privkey.pem", SSL_FILETYPE_PEM);
3. Importar un certificado existente
Si ya tienes un certificado y clave privada, simplemente usa los archivos en tu servidor con OpenSSL:
Configuraci贸n: Modifica tu c贸digo para cargar el certificado y clave privada:
SSL_CTX_use_certificate_file(ctx, "mi_certificado.crt", SSL_FILETYPE_PEM); SSL_CTX_use_PrivateKey_file(ctx, "mi_clave.key", SSL_FILETYPE_PEM);
4. Verificar certificados
Antes de usar un certificado en producci贸n, verifica su validez con OpenSSL:
openssl x509 -in server.crt -text -noout
Esto mostrar谩 informaci贸n detallada sobre el certificado, como su fecha
de expiraci贸n y el nombre com煤n (CN).
馃搶 Resumen
Registrar y usar un certificado SSL en OpenSSL incluye:
- Generar un certificado autofirmado (para pruebas).
- Crear y enviar un CSR a una CA para obtener un certificado firmado (en producci贸n).
- Configurar correctamente los archivos en tu servidor.
- Verificar los certificados para garantizar su validez.