Certificados s/mime autofirmados (gratis) funcionando en microsoft outlook 2007, evolution y apple mail para firmar y encriptar. (That’s the way I used)

1. SEGUIR EL SIGUIENTE TUTORIAL PARA OBTENER LOS CERTIFICADOS AUTO-FIRMADOS (SELF-SIGNED)

Auto-firmados: porque no necesitamos de una agencia de certificación (CA) que nos garantice la validez de los certificados. Nosotros mismos le damos validez a los certificados. Para que sean reconocidos es necesario, por tanto, que la clave pública de esos certificados esté instalada no sólo como certificado de otras personas, o de contactos, sino como un certificado de una entidad emisora raíz de confianza. Así nos ahorramos tener que comprar nada a nadie. Sirve para poder enviar correo encriptado s/mime entre amigos sin necesidad de pagar a una entidad externa

http://www.bestinternetsecurity.net/282/how-to-generate-a-digital-certificate-for-smime-secure-mime-email-communication.html

En el enlace anterior está el tutorial para conseguir los certificados auto-firmados con openssl. Está escrito para windows, pero se hace igual en linux, sólo hay que quitarle el .exe al openssl. Se reproduce a continuación

Es muy importante en la creación de las claves poner el correo electrónico al que vamos a asociarla. Una clave sólo podrá funcionar con un correo electrónico. De otro modo no sería posible usarla en outlook.

Pista para rellenar los datos de las claves que se crean:

Country Name (C)

State (ST)

Locality (L)

Organization Name (O)

Organization Unit (OU)

Common Name (CN)

Email Address.

For most S/MIME compatible email clients, you must obtain a PKCS12 format certificate before you can upload your private key and/or others’ public key for secure email communication.

The first way you can do this is, of course, to apply such a certificate from a trusted Certificate Authority (CA), such as VeriSign. But can you do this without a CA?

Yes, it is possible for you to generate such a certificate manually using open source software. However, note that the certificate is self-signed, meaning it is signed by you as the trusted root source.

To do this, you have first to download a piece of software than can generate PCKS12 format certificates. The most common one is OpenSSL software. You can visit this website to know more:

http://www.openssl.org.

The original OpenSSL software is made primarily to be run on the Linux platform. As a general Windows user, you might need to use the program on a Windows platform, and may not know how to compile the source code of OpenSSL to make it run on a Windows platform. If you have this headache, you can try the Windows compatible OpenSSL work available for free here:

http://www.slproweb.com/products/Win32OpenSSL.html

Upon successful installation of the software, go to the bin directory of your installation to locate the software openssl.exe that you need to use to generate PKCS12 certificate.

I followed the instructions here to create my own certificate:

http://tinyurl.com/4s5zqo

I have added my own explanations and remarks and simplified a bit the process. Here are the steps:

Assume you have installed your software on the path c:\Openssl

1. Generate a RSA Private Key in PEM format

Type:

>C:\Openssl\bin\openssl.exe genrsa -out my_key.key 2048

Where:

my_key.key is the desired filename for the private key file

2048 is the desired key length of either 1024, 2048, or 4096

2. Generate a Certificate Signing Request:

Type:

>C:\Openssl\bin\openssl.exe req -new -key my_key.key -out my_request.csr

my_key.key is the input filename of the previously generated private key

my_request.csr is the output filename of the certificate signing request

3. Follow the on-screen prompts for the required certificate request information.

4. Generate a self-signed public certificate based on the request.

Type:

>C:\Openssl\bin\openssl.exe x509 -req -days 3650 -in my_request.csr -signkey my_key.key -out my_cert.crt

my_request.csr is the input filename of the certificate signing request

my_key.key is the input filename of the previously generated private key

my_cert.crt is the output filename of the public certificate

3650 are the duration of validity of the certificate. In this case, it is 10 years (10 x 365 days)

x509 is the X.509 Certificate Standard that we normally use in S/MIME communication

This essentially signs your own public certificate with your own private key. In this process, you are now acting as the CA yourself!

5. Generate a PKCS#12 file:

type:

>C:\Openssl\bin\openssl.exe pkcs12 -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in my_cert.crt -inkey my_key.key -out my_pkcs12.pfx -name “my-name”

my_cert.crt is the input filename of the public certificate, in PEM format

my_key.key is the input filename of the private key

my_pkcs12.pfx is the output filename of the pkcs#12 format file

my-name is the desired name that will sometimes be displayed in user interfaces.

6. (Optional) You can delete the certificate signing request (.csr) file and the private key (.key) file.

7. Now you can import your PKCS#12 file to your favorite email client, such as Microsoft Outlook or Thunderbird. You can now sign an email you send out using your own generated private key. For the public certificate (.crt) file, you can send this to others when requesting them to send an encrypted message to you.

Después de haber creado cada clave nos quedaremos con el archivo .crt y el archivo .pfx. El archivo .pfx será importado en iexplorer o evolution para usarlo como clave privada. Importaremos nuestrs propia clave pública como entidad emisora raíz de confianza. Los archivos .crt se distribuirán a los amigos como clave pública (que debe ir no sólo en los certificados de contactos, sino también en los certificados de entidades emisoras raíz de confianza)

2. CONFIGURAR MICROSOFT OUTLOOK

Para usarlo en microsoft outlook 2007 ir a /herramientas/centro de confianza/seguridad del correo electronico/correo electrónico cifrado/configuración/ y crear una nueva configuración, añadiendo la clave privada con la que queremos cifrar los mensajes (previamente incorporada en iexplorer). Luego ir a cada uno de los contactos de los que tenemos clave pública e importar en su ficha de contacto su clave pública. Para importar estas claves públicas será necesario haberlas importado previamente a iexplorer y haberlas exportado desde allí a formato .p7b (el .cer  o el .crt no los acepta outlook, aunque iexplorer curiosamente sí)

NOTA: La clave privada instalada en iexplorer, así como las claves públicas instaladas no son reconocidas como válidas por iexplorer hasta que no pasa un rato (media hora o una hora, creo).

3. CONFIGURAR EVOLUTION

Para usarlo en evolution ir a /editar/preferencias/certificados. Allí debemos importar la clave pública propia como “autoridad” (=entidad emisora raíz de confianza), también importar las claves públicas de nuestros amigos (yo las importé como “autoridad”, no logré importarlas en “contactos”, pero no hubo ningún problema, todo funcionó perfectamente). Luego importar nuestra clave privada .pfx. Finalmente ir a preferencias/cuentas de correo, elegir la cuenta a la que queremos asociar nuestra clave privada, ir a /editar/seguridad dentro de ésta, y configurar nuestro certificado s/mime para firmar y encriptar.

4. CONFIGURAR APPLE MAIL

Click dos veces en cada una de las claves privadas, y aceptarlas como claves de confianza. Igual para la clave pública, en la que habrá que poner la contraseña. Una vez instalada la clave privada, pulsar dos veces sobre ella y en la ventana que se abre ir a “confiar” y poner “confiar siempre”. Sin este último paso no se puede usar la clave privada en mail.

Creo que no se me olvida nada. Todo ha funcionado.

Advertisements
This entry was posted in Uncategorized and tagged , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s