Generar certificados de servidor y de cliente autofirmados con OpenSSL
Esta es la guía definitiva para crear certificados seguros, tanto para servidores como para clientes, utilizando OpenSSL.
Procedimiento
Crear la autoridad de certificación raíz (CA)
Genere la clave privada de la CA raíz mediante la siguiente línea de comandos:
openssl ecparam -name prime256v1 -genkey -noout -out ca.key. Cada certificado debe tener una clave privada correspondiente.Genere el certificado de la CA raíz (autoridad de certificación) mediante la siguiente línea de comandos:
openssl req -new -x509 -sha256 -key ca.key -out ca.crt.Introduzca la información sobre la CA (el certificado se generará en el fichero ca.crt):
Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:CA Locality Name (eg, city) []:Toontown Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc. Organizational Unit Name (eg, section) []:Security Common Name (e.g. server FQDN or your name) []:acme.com Email Address []:security@acme.com
Generar una solicitud de firma de certificado (CSR) – Servidor
Estos pasos suelen realizarse en cada servidor o dispositivo para el que se pretende solicitar un certificado. Instale OpenSSL si no está presente. La alternativa consiste en desplegar de forma segura la clave privada en el servidor de destino al mismo tiempo que el certificado. Se recomienda utilizar este último enfoque únicamente si debe ajustarse a despliegues automatizados para seguir prácticas de CloudOps/DevOps.
Genere la clave privada del certificado de servidor mediante la siguiente línea de comandos:
openssl ecparam -name prime256v1 -genkey -noout -out server.key(clave privada de 256 bits en el fichero server.key). Cada certificado debe tener una clave privada correspondiente.Genere la solicitud de firma de certificado (CSR) del servidor mediante la siguiente línea de comandos:
openssl req -new -sha256 -key server.key -out server.csr. Esta solicitud se procesará más adelante en el servidor de la CA raíz.Introduzca la información sobre el certificado de servidor (debe especificarse el FQDN exacto que utiliza el servidor). Por ejemplo:
Introduzca una contraseña en el campo correspondiente; es esencial utilizar un gestor de contraseñas, así como un generador de contraseñas robustas.
Transfiera el fichero server.csr a la CA raíz.
Procese la solicitud siguiendo las instrucciones de Procesar una solicitud de firma de certificado (CSR) en la autoridad de certificación raíz (CA) a continuación.
Despliegue el certificado.
Generar una solicitud de firma de certificado (CSR) – Cliente
Siga el mismo procedimiento que para el certificado de servidor, pero debe adaptar a sus necesidades dos atributos de la información que introduce, concretamente el Common Name y la Email Address.
Procesar una solicitud de firma de certificado (CSR) en la autoridad de certificación raíz (CA)
Procese la CSR generando un certificado.
Genérelo mediante la siguiente línea de comandos, donde el fichero server.csr se ha generado en el servidor: openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1000 -sha256
Como resultado, el certificado se genera en el fichero server.crt. Debe desplegarlo en el servidor donde generó la CSR.
Última actualización
¿Te fue útil?