Saltar al contenido

¡Transforma tus conexiones en dinero para el final del año con nuestro nuevo Programa de Indicación de Clientes! Descubre más

Requisitos previos para el cifrado S/MIME

Introducción

El conector de Correo le permite usar S/MIME para firmar o firmar y cifrar un correo antes de enviarlo mediante la actividad Enviar Correo, así como leer correos que hayan sido firmados y/o cifrados de esta manera mediante la actividad Leer Correo, pero en ambos casos necesita un certificado S/MIME. Además, se necesita una autoridad de certificación (CA) para firmar su certificado, pero usted puede ser su propia CA. Esta página le enseña cómo hacerlo.

Los certificados se basan en el cifrado de clave pública. Por lo tanto, se requiere la clave pública del correo para cifrar el correo. Por el contrario, para recibir un correo cifrado, el remitente necesita su clave pública.

Esta página describe la creación de un par de claves públicas y privadas personales. Si bien debe proporcionar su clave pública a alguien para recibir un correo cifrado, su clave privada debe ser guardada exclusivamente por usted.

Instrucciones paso a paso

Aunque también se pueden utilizar otras herramientas, las instrucciones de esta página se basan en OpenSSL. Si está utilizando Windows, asegúrese de ejecutar el símbolo del sistema como administrador.

Paso 1: Crear un archivo de configuración de OpenSSL

Si su distribución de OpenSSL ya incluye un archivo de configuración predeterminado con las extensiones necesarias, este paso no es necesario. Al ejecutar el comando openssl.exe (del directorio donde está instalado OpenSSL), un mensaje le avisará si no hay un archivo de configuración.

Si su distribución no tiene un archivo de configuración predeterminado, cree un archivo llamado smime.cnf Con la siguiente configuración:

[req]
distinguished_name = req_distinguished_name

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = AU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Internet Widgits Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64

[v3_ca]
basicConstraints = critical, CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer

[smime]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = emailProtection
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always, issuer
subjectAltName = email:copy

A continuación, configure el OPENSSL_CONF Variable de ambiente para hacer referencia al nuevo archivo de configuración. En una terminal, introduzca el siguiente comando:

set OPENSSL_CONF=c:/openssl/smime.cnf
export OPENSSL_CONF=/usr/bin/openssl

Paso 2: Generar una clave privada RSA para la autoridad de certificación

Para generar una clave privada RSA para la nueva autoridad de certificación, abra una terminal. En el ejemplo a continuación, las opciones especifican el uso de aes256 cifrado y enviar los resultados a un archivo llamado ca.key con un tamaño de 4096 bits:

openssl genrsa -aes256 -out ca.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out ca.key

Se le solicitará que cree una contraseña para esta clave. Consérvela para usarla en el Paso 3.

Paso 3: Crear un certificado autofirmado para la autoridad certificadora

Abra una terminal. El ejemplo a continuación especifica que el certificado generado tiene una validez de 10 años y utiliza la clave privada creada en el Paso 2. El comando -x509 Especifica que es un certificado autofirmado. También escribe el certificado en un archivo llamado ca.crt.

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -extensions v3_ca

Nota

Si su distribución de OpenSSL ya tiene un archivo de configuración adecuado, lo que significa que se ha saltado el Paso 1 arriba, debes eliminar el -extensions v3_caDesde este comando.

Verá una serie de indicaciones. Sígalas usando la contraseña del Paso 2. Después de eso, se habrá creado la autoridad de certificación.

Paso 4: Generar una clave privada para el certificado de correo personal

A continuación, cree una nueva clave privada. Esta es para su certificado personal, no para la autoridad de certificación. El ejemplo a continuación es para una persona llamada Jane Doe con una dirección de correo de jane_doe@example.com y utiliza RSA.

openssl genrsa -aes256 -out smime_jane_doe.key 4096
openssl genpkey -aes256 -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out smime_jane_doe.key

Cuando se le solicite, introduzca una contraseña distinta a la que utilizó al crear la clave privada de la autoridad de certificación en el Paso 1. Conserve esta contraseña para usarla en el Paso 5.

Nota

No es necesario usar RSA para crear una clave privada. También se pueden usar otros algoritmos criptográficos disponibles, como ECC.

Paso 5: Crear la solicitud de firma del certificado

Cree la solicitud de firma de certificado ejecutando el siguiente comando:

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

Cuando se le solicite, introduzca la contraseña que utilizó para crear la clave privada en el Paso 4. Tenga en cuenta que cuando se le solicite que proporcione una Common Name, no proporciones el mismo que proporcionaste en las indicaciones al final del Paso 3.

Paso 6: Firme el certificado utilizando la autoridad certificadora

Cree el certificado personal autofirmado utilizando el archivo de configuración creado en el Paso 1 para configurar las extensiones necesarias y la autoridad de certificación se utiliza para firmar el nuevo certificado personal.

Ejecute el siguiente comando (increment set_serial con cada solicitud de firma):

openssl x509 -req -days 3650 -in smime_jane_doe.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out smime_jane_doe.crt -addtrust emailProtection -addreject clientAuth -addreject serverAuth -trustout -extfile c:\openssl\smime.cnf -extensions smime
openssl x509 -req -days 3650 -in smime_jane_doe.csr -CA ca.crt -CAkey ca.key -set_serial 1 -out smime_jane_doe.crt -sha256

Cuando se le solicite, introduzca la contraseña de la clave privada de la autoridad de certificación del Paso 2.

Nota

Si su distribución de OpenSSL ya tiene un archivo de configuración adecuado, lo que significa que se ha saltado el Paso 1 anterior, elimine los dos últimos argumentos del comando que se muestra en este paso. Asegúrese de que las extensiones indicadas existan en su archivo de configuración predeterminado antes de hacerlo.

Paso 7: Generar un archivo de clave privada

Ejecute el siguiente comando para generar un archivo PKCS#12 (smime_cert.p12) que contiene la clave privada y el certificado:

openssl pkcs12 -export -in smime_cert.crt -inkey smime_cert.key -out smime_cert.p12
openssl pkcs12 -inkey smime_cert.key -in smime_cert.crt -export -out smime_cert.pfx

Cuando se le solicite, introduzca la contraseña asociada a su clave privada personal creada en el Paso 4. Cree otra frase de contraseña que se utilizará al importar el .p12 archivo en un cliente de correo. Conserve esta segunda contraseña, ya que se le solicitará al habilitar el cifrado S/MIME en Leer Correo o Enviar Correo actividades.

Advertencia

No compartas tu clave privada con nadie. Para enviarte un correo cifrado, el remitente necesita conocer tu clave pública, pero solo tú debes guardar tu clave privada.

Paso 8: Mueva el archivo a una ruta de agente

Ahora que tiene un certificado, que viene empaquetado en el... .p12archivo creado en el Paso 7, mueva ese archivo a una ruta visible del agente (por ejemplo, el Resources carpeta) e importe el certificado al almacén de confianza predeterminado (consulte Agregar certificados para aprender a hacerlo).

Nota

Al importar el certificado al almacén de confianza predeterminado, conserve el alias que utiliza para identificarlo, ya que se le solicitará que lo proporcione al habilitar el cifrado S/MIME en Leer Correo o Enviar Correo actividades.

Próximos pasos

Ahora que su certificado S/MIME autofirmado está creado, puede usarlo para firmar o firmar y cifrar sus correos, así como para leer los que ya se enviaron. Al proporcionar su clave pública a un remitente, podrá recibir correos cifrados. Una vez que el destinatario le proporcione su clave pública, también podrá enviarle un correo cifrado.