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.