For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

En Windows, se recomienda utilizar Chocolatey para instalar OpenSSL y sus dependencias. La línea de comandos es simplemente choco install openssl.

Crear la autoridad de certificación raíz (CA)

  1. 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.

  2. 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.

  3. 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
  4. Instale el certificado.

    Tenga en cuenta que el certificado debe instalarse en el servidor y en todos los clientes para validar la legitimidad de los certificados emitidos. Algunos navegadores también tienen particularidades que se describen en el tema.

Generar una solicitud de firma de certificado (CSR) – Servidor

  1. 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.

  2. 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.

  3. Introduzca la información sobre el certificado de servidor (debe especificarse el FQDN exacto que utiliza el servidor). Por ejemplo:

  4. Introduzca una contraseña en el campo correspondiente; es esencial utilizar un gestor de contraseñas, así como un generador de contraseñas robustas.

  5. Transfiera el fichero server.csr a la CA raíz.

  6. 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.

  7. 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?