Saltar al contenido

Requisitos previos para la encriptación S/MIME para el conector de Email en Jitterbit Integration Studio

Introducción

El conector de Email te permite usar S/MIME (Extensiones de Correo de Internet Seguras/Múltiples Propósitos) para firmar o firmar y encriptar un correo electrónico antes de enviarlo con la actividad Enviar Correo. También puedes leer correos electrónicos firmados y/o encriptados usando la actividad Leer Correo.

Los certificados S/MIME utilizan encriptación de clave pública. Para encriptar un correo electrónico, necesitas la clave pública del destinatario. Para recibir un correo electrónico encriptado, el remitente necesita tu clave pública.

Esta página explica cómo crear un par de claves públicas/privadas personales. Debes compartir tu clave pública con otros para recibir correos electrónicos encriptados, pero mantén tu clave privada segura.

Importante

Si estás utilizando un proveedor de nube, como Microsoft 365 Outlook con una cuenta de Exchange Online, necesitas un certificado S/MIME de una autoridad de certificación (CA) confiable, como Let's Encrypt. Los certificados autofirmados no funcionarán con proveedores de nube.

Aunque el proceso para configurar S/MIME debería ser similar para otros proveedores, Jitterbit ha validado S/MIME solo con Microsoft Outlook.

Instrucciones paso a paso

Estas instrucciones utilizan OpenSSL, aunque otras herramientas también pueden crear certificados. Si usas Windows, ejecuta tu símbolo del sistema como administrador.

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

Salta este paso si tu distribución de OpenSSL ya incluye un archivo de configuración predeterminado con las extensiones necesarias. Cuando ejecutes el archivo openssl.exe (desde el directorio de instalación de OpenSSL), verás una advertencia si no existe un archivo de configuración.

Si es necesario, crea un archivo llamado smime.cnf con esta 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, establece la variable de entorno OPENSSL_CONF para hacer referencia a este archivo de configuración. En una terminal, ingresa 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 certificadora

Ejecuta este comando para generar una clave privada RSA para la autoridad certificadora:

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

En los ejemplos anteriores, las opciones especifican usar el cifrado aes256 y guardar los resultados en un archivo llamado ca.key con un tamaño de 4096 bits.

Se te pedirá que crees una frase de paso para esta clave. Retén esta frase de paso para usar en Paso 3.

Paso 3: Crear un certificado autofirmado para la autoridad certificadora

Ejecuta este comando para crear un certificado autofirmado:

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

El ejemplo anterior especifica que el certificado generado está certificado por 10 años y utiliza la clave privada creada en Paso 2. El comando -x509 especifica que es un certificado autofirmado. También escribe el certificado en un archivo llamado ca.crt.

Nota

Si tu distribución de OpenSSL ya tiene un archivo de configuración adecuado (saltaste Paso 1), elimina el parámetro -extensions v3_ca de este comando.

Sigue las indicaciones, ingresando la frase de paso del Paso 2. Esto crea tu autoridad certificadora.

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

Ejecuta este comando para crear una nueva clave privada para tu certificado personal:

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

Ingresa una nueva frase de contraseña (diferente de la que usaste en Paso 2). Retén esta frase de contraseña para Paso 5.

Nota

Puedes usar algoritmos criptográficos diferentes a RSA, como ECC.

Paso 5: Crea la solicitud de firma de certificado

Ejecuta este comando para crear la solicitud de firma de certificado:

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

Ingresa la frase de contraseña que creaste en Paso 4. Cuando se te pida un "Nombre Común", usa un nombre diferente al que usaste en Paso 3.

Paso 6: Firma el certificado usando la autoridad de certificación

Ejecuta este comando para firmar el certificado (usando el archivo de configuración del Paso 1):

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

Cuando se te pida, ingresa la frase de contraseña para la clave privada de la autoridad de certificación del Paso 2.

Nota

Si tu distribución de OpenSSL ya tiene un archivo de configuración adecuado (saltaste el Paso 1), elimina los argumentos -extfile y -extensions del comando de Windows. Asegúrate de que las extensiones requeridas existan en tu archivo de configuración predeterminado.

Paso 7: Crea un archivo de archivo PKCS#12

Ejecute el siguiente comando para generar un archivo PKCS#12 que contenga su clave privada y certificado:

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

Cuando se le solicite, ingrese la frase de contraseña asociada con su clave privada personal creada en Paso 4. Cree otra frase de contraseña que se utilizará al importar el archivo .p12 en un cliente de correo electrónico. Retenga esta segunda frase de contraseña, ya que la necesitará al habilitar la encriptación S/MIME en las actividades de Leer correo electrónico o Enviar correo electrónico.

Advertencia

Nunca comparta su clave privada con nadie. Otros necesitan su clave pública para enviarle correos electrónicos encriptados, pero solo usted debe tener su clave privada.

Paso 8: Importar el certificado a una ruta de agente

Mueva el archivo .p12 o .pfx creado en el Paso 7 a una ruta visible para el agente (por ejemplo, la carpeta Resources). Luego, importe el certificado al almacén de confianza predeterminado de Java (consulte Agregar certificados para obtener instrucciones).

Nota

Al importar el certificado al almacén de confianza predeterminado, retenga el alias que utiliza para identificarlo, ya que lo necesitará al habilitar la encriptación S/MIME en las actividades de Leer correo electrónico o Enviar correo electrónico.

Próximos pasos

Ahora que su certificado S/MIME autofirmado ha sido creado, puede usarse para firmar o firmar y encriptar sus correos electrónicos, y para leer correos electrónicos que fueron firmados o encriptados. Al proporcionar su clave pública a un remitente, puede recibir correos electrónicos encriptados de ellos. Una vez que un destinatario le proporcione su clave pública, también puede enviarle un correo electrónico encriptado.