Crear un certificado SSL autofirmado

Si queremos acceder a un sitio web con cierta seguridad en la transmisión de los datos, una de las opciones más sencillas es acceder a ese sitio web a través del protocolo HTTPS en vez del HTTP. Para tener esta opción disponible en un servidor personal, podemos optar por crear unos certificados autofirmados, sin necesidad de adquirirlos de una autoridad de certificación.

Pare crear los certificados podemos optar por usar el comando make-ssl-cert o realizar el proceso completo en cuatro pasos.

Con este segundo método, y como superusuario, tendremos que acceder a la carpeta donde guardar los archivos y desde ahí crear una clave privada, con una contraseña temporal, con algún programa especializado, como por ejemplo “OpenSSL“:

sudo sucd /etc/ssl/private/openssl genrsa -des3 -out miservidor.key 1024

Generating RSA private key, 1024 bit long modulus
......................++++++
...............................................++++++
e is 65537 (0x10001)
Enter pass phrase for miservidor.key:
Verifying - Enter pass phrase for miservidor.key:

Una vez creada la clave privada,  procederemos a eliminar la necesidad de usar la contraseña:

openssl rsa -in miservidor.key -out miservidor.key

Enter pass phrase for miservidor.key:
writing RSA key

El siguiente paso es crear un certificado de solicitud de firma (CSR) con algún periodo de validez (en el ejemplo, 10 años), donde indicaremos el sitio web para el que creamos el certificado en “Common Name (eg, YOUR name)” y una dirección de correo electrónico en “Email Address”:

openssl req -new -days 3650 -key miservidor.key -out miservidor.csr

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.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:Barcelona
Locality Name (eg, city) []:Badalona
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mi Servidor
Organizational Unit Name (eg, section) []:Blog de actualidad
Common Name (eg, YOUR name) []:miservidor.org
Email Address []:info@miservidor.org

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Para terminar, se crea un certificado digital X.509:

openssl x509 -in miservidor.csr -out miservidor.crt -req -signkey miservidor.key -days 3650

Signature ok
subject=/C=ES/ST=Barcelona/L=Badalona/O=Mi Servidor/OU=Blog de
actualidad/CN=miservidor.org/emailAddress=info@miservidor.org
Getting Private key

Para impedir la lectura de estos archivos a usuarios no autorizados, es una buena practica restringir los permisos de acceso de todos los archivos generados:

chmod 400 miservidor.*

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
Crear un certificado SSL autofirmado, 5.0 out of 5 based on 1 rating

Tags: , ,

Deja un comentario