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.