GNU/Linux >> Tutoriales Linux >  >> Linux

Creación de un certificado SSL autofirmado

Este artículo explica cómo crear un certificado SSL autofirmado usando openssl herramienta.

¿Qué es un certificado SSL autofirmado? #

Un certificado SSL autofirmado es un certificado firmado por la persona que lo creó en lugar de una autoridad de certificación de confianza. Los certificados autofirmados pueden tener el mismo nivel de cifrado que el certificado SSL firmado por una CA de confianza.

Los navegadores web no reconocen los certificados autofirmados como válidos. Cuando se utiliza un certificado autofirmado, el navegador web muestra una advertencia al visitante de que no se puede verificar el certificado del sitio web.

Normalmente, los certificados autofirmados se utilizan con fines de prueba o uso interno. No debe usar un certificado autofirmado en sistemas de producción que están expuestos a Internet.

Requisitos previos #

Se requiere el kit de herramientas OpenSSL para generar un certificado autofirmado.

Para verificar si openssl el paquete está instalado en su sistema Linux, abra su terminal, escriba openssl version y presione Entrar. Si el paquete está instalado, el sistema imprimirá la versión de OpenSSL; de lo contrario, verá algo como openssl command not found .

Si el paquete openssl no está instalado en su sistema, puede instalarlo con el administrador de paquetes de su distribución:

  • Ubuntu y Debian

    sudo apt install openssl
  • Centos y Fedora

    sudo yum install openssl

Creación de certificado SSL autofirmado #

Para crear un nuevo certificado SSL autofirmado, use el openssl req comando:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key

Analicemos el comando y comprendamos qué significa cada opción:

  • -newkey rsa:4096 - Crea una nueva solicitud de certificado y una clave RSA de 4096 bits. El predeterminado es de 2048 bits.
  • -x509 - Crea un certificado X.509.
  • -sha256 - Utilice SHA de 265 bits (algoritmo hash seguro).
  • -days 3650 - El número de días para certificar el certificado. 3650 son diez años. Puede usar cualquier número entero positivo.
  • -nodes - Crea una clave sin una frase de contraseña.
  • -out example.crt - Especifica el nombre de archivo para escribir el certificado recién creado. Puede especificar cualquier nombre de archivo.
  • -keyout example.key - Especifica el nombre de archivo para escribir la clave privada recién creada. Puede especificar cualquier nombre de archivo.

Para obtener más información sobre openssl req opciones de comando, visite la página de documentación de requisitos de OpenSSL.

Una vez que presione Enter, el comando generará la clave privada y le hará una serie de preguntas. La información que proporcionó se utiliza para generar el certificado.

Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

Ingresa la información solicitada y presiona Enter .

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]

El certificado y la clave privada se crearán en la ubicación especificada. Utilice el comando ls para verificar que se crearon los archivos:

ls
example.crt example.key

¡Eso es todo! Ha generado un nuevo certificado SSL autofirmado.

Siempre es una buena idea hacer una copia de seguridad de su nuevo certificado y clave en un almacenamiento externo.

Creación de un certificado SSL autofirmado sin solicitud #

Si desea generar un certificado SSL autofirmado sin que se le solicite ninguna pregunta, use -subj y especifique toda la información del asunto:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key \
            -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----

Los campos, especificados en -subj línea se enumeran a continuación:

  • C= - Nombre del país. La abreviatura ISO de dos letras.
  • ST= - Nombre del estado o provincia.
  • L= - Nombre de la localidad. El nombre de la ciudad donde se encuentra.
  • O= - El nombre completo de su organización.
  • OU= - Unidad organizativa.
  • CN= - El nombre de dominio completo.

Conclusión #

En esta guía, le mostramos cómo generar un certificado SSL autofirmado utilizando la herramienta openssl. Ahora que tiene el certificado, puede configurar su aplicación para usarlo.

Siéntase libre de dejar un comentario si tiene alguna pregunta.


Linux
  1. Cómo instalar un certificado SSL autofirmado en cPanel

  2. Instalar un certificado SSL

  3. Comprar o renovar un certificado SSL

  4. Cómo crear un certificado SSL autofirmado en Ubuntu 18.04

  5. Curl:deshabilitar la verificación del certificado

Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04

Cómo generar certificados SSL autofirmados usando OpenSSL

Herramienta de comprobación de SSL

Cómo crear un certificado SSL autofirmado local en CentOS 8

Cómo comprobar la fecha de caducidad de SSL en Plesk

¿Cómo restablecer/renovar el certificado autofirmado de cPanel/WHM?