Generar certificados MIME para Evolution

Para firmar y encriptar nuestros correos en Evolution, podemos usar certificados autofirmados, para esto, solo hay que generar un par de certificados.

Solo requerimos tener instalado openssl

openssl version

OpenSSL 1.1.1a  20 Nov 2018

Crea un directorio con el nombre que prefieras para generar y guardar tus certificados.

mkdir cert
cd cert

Primero vamos a generar los certificados CA. Estos serviran para que Evolution tome nuestros certificados autofirmados como válidos.

Generamos la llave privada, te solicitará una contraseña para el mismo.

openssl genrsa -des3 -out ca.key 4096

Generating RSA private key, 4096 bit long modulus (2 primes)
...................................++++
..............................................................................................+++Enter pass phrase for ca.key:+
e is 65537 (0x010001)

Verifying - Enter pass phrase for ca.key:

Generamos el certificado usando la llave generada en el punto anterior, captura la contraseña que estableciste en el punto anterior.

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

Enter pass phrase for ca.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.
-----
Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:CDMX
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:EmpresaLibre
Email Address []:

Toma nota de la propiedad Common Name, deberás usar uno diferente más adelante.

Ahora generamos nuestro certificado.

openssl genrsa -des3 -out cert.key 4096

Generating RSA private key, 4096 bit long modulus (2 primes)
..++++
...............................................................................................................................................++++
Enter pass phrase for cert.key:e is 65537 (0x010001)

Verifying - Enter pass phrase for cert.key:

Generamos el archivo de solicitud de firma.

openssl req -new -key cert.key -out cert.csr

Enter pass phrase for cert.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.
-----
Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:CDMX
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:amigos.email
Email Address []:elmau@amigos.email

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

Aquí los datos importantes son:

  • Common Name: amigos.email
  • Email Address : elmau@amigos.email

Usa los datos de tu correo a usar.

Ahora, generamos el certificado (crt), con el archivo de solicitud (csr), usando nuestra CA generada en el primer paso.

openssl x509 -req -days 365 -in cert.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out cert.crt

Enter pass phrase for ca.key:Signature ok
subject=C = MX, ST = CDMX, O = Internet Widgits Pty Ltd, CN = amigos.email, emailAddress = elmau@amigos.email
Getting CA Private Key

Por ultimo, convertimos la llave privada a p12, que es el formato requerido por Evolution. Reemplaza TU NOMBRE por tu respectivo nombre.

openssl pkcs12 -export -in cert.crt -inkey cert.key -name "TU NOMBRE" -out cert.p12

Enter pass phrase for cert.key:
Enter Export Password:
Verifying - Enter Export Password:

Es todo lo que necesitamos.

mau@oficina ~/Desktop/cert $ ls -lh
total 28K
-rw-r--r-- 1 mau mau 2.0K ene 30 19:24 ca.crt
-rw------- 1 mau mau 3.3K ene 30 19:21 ca.key
-rw-r--r-- 1 mau mau 1.9K ene 30 19:30 cert.crt
-rw-r--r-- 1 mau mau 1.7K ene 30 19:29 cert.csr
-rw------- 1 mau mau 3.3K ene 30 19:25 cert.key
-rw------- 1 mau mau 4.1K ene 30 19:31 cert.p12

Ahora vamos a importar los certificados generados dentro de Evolution. Abrelo y ve al menú Editar - Preferencias o usa la combinación de teclas Ctrl+Shift+S.

Selecciona Certificados en el menú lateral derecho y la ficha Autoridades en el panel izquierdo.

Evolution - Propiedades

Selecciona el botón de comando Importar y navega hasta la ubicación de los certificados. Asegurate de seleccionar el archivo correcto para la CA.

Evolution - Seleccionar archivo CA

Selecciona: Confiar en esta AC para identificar a usuarios de correo-e. Presionas el botón de comando Aceptar

Evolution - Confiar en

Debes de ver listado el certificado.

Evolution - Autoridades

En esta misma pantalla, ve a la ficha Sus certificados y da clic en el botón de comando Importar.

Evolution - Sus certificados

Navega de nuevo hasta la ubicación de los certificados, asegurate de seleccionar el archivo p12. Da clic en el botón de comando Abrir.

Evolution - Seleccionar archivo p12

Se te solicitará la contraseña que estableciste para este archivo.

Evolution - Capturar contraseña

Al dar clic en el botón de comando Aceptar, debes de ver el nuevo certificado listado con sus respectivas propiedades.

Evolution - Capturar contraseña

Solo nos resta establecer este certificado a nuestra cuenta de correo, para esto, en la misma pantalla, ve a la opción Cuentas de correo del panel lateral y selecciona tu cuenta de correo, da clic en el botón de comando Editar.

Evolution - Cuenta de correo - editar

Del menú lateral seleccionas la opción Seguridad. Da clic en el botón de comando Seleccionar de la sección Certificado de firma.

Evolution - Cuenta de correo - seguridad

Si solo tienes un certificado, da clic en el botón de comando Aceptar, si tienes más, selecciona el correcto desde el cuadro de lista Certificado.

Evolution - Cuenta de correo - seleccionar certificado

Debes de ver tu nombre como en la siguiente imagen. Repite el proceso para la sección Certificado de cifrado donde debes de ver también tu nombre. Para terminar de clic en el botón de comando Aceptar.

Evolution - Cuenta de correo

Ahora, al generar un nuevo correo, dentro del menú Opciones, tienes las opciones respectivas para firmar y cifrar con S/MIME.

Evolution - Enviar correo

Si todo esta bien, al enviar un correo, el cliente de correo debe mostrarte el estatus de la firma.

Evolution - Correo enviado

Si tienes dudas, puedes preguntarme en Mastodon

Comentarios