Seguridad y cifrado de correo electrónico

Cifrar/Descifrar mensajes

Aspose.Email proporciona la funcionalidad para cifrar y descifrar mensajes de correo electrónico usando X509Certificates. Este artículo muestra cómo un mensaje existente o nuevo puede cargarse y cifrarse usando MailMessage. El Encrypt() y Decrypt() los métodos devuelven un MailMessage objeto para los efectos aplicados y que deben tenerse en cuenta al cifrar/descifrar mensajes. Cifrar y descifrar mensajes implica los siguientes pasos:

  1. Crear un mensaje nuevo o cargar uno existente
  2. Cargar un certificado de cifrado usando el objeto X509Certificate
  3. Cifrar el mensaje usando el certificado
  4. Enviar el mensaje o guardarlo
  5. Descifrar el mensaje según sea necesario

El siguiente fragmento de código muestra cómo cifrar y descifrar mensajes.

Verificar cifrado del mensaje

Aspose.Email MailMessage la clase le permite comprobar si un mensaje está cifrado o no. El IsEncryptedpropiedad de MailMessage le permite verificar esto como se muestra en el siguiente ejemplo de código.

Comprobación de la firma de correos seguros

El SecureEmailManager la clase le permite verificar la firma de objetos MailMessage seguros.

El SmimeResult la clase almacena los resultados de la verificación.

Los siguientes métodos de la SecureEmailManager la clase y un fragmento de código le permitirán procesar una firma:

var eml = MailMessage.Load(fileName);
var result = new SecureEmailManager().CheckSignature(eml);

var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MailMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();

var result = new SecureEmailManager().CheckSignature(eml, cert, store);

Firmar correos electrónicos con DKIM

NOTA: La característica está disponible solo para las versiones de la biblioteca dirigidas a .NET Framework. Las versiones dirigidas a .NET Core no cuentan con esta característica.

Aspose.Email permite firmar correos electrónicos con DKIM (DomainKeys Identified Mail). Esto permite a una organización asumir la responsabilidad de un mensaje en tránsito (Más información). DKIM añade una firma digital a las cabeceras del mensaje de correo que puede ser validada por los destinatarios. La clave pública del remitente permite al receptor verificar que la firma coincide con el contenido del mensaje. El DKIMSign método del MailMessage la clase se usa para establecer la información criptográfica y de firma para firmar el mensaje. El siguiente fragmento de código muestra cómo firmar correos electrónicos con DKIM.

var eml = new MailMessage("sender@gmail.com", "receiver@gmail.com", "Some subject", "Some body text");

string privateKeyFile = "key2.pem";
RSACryptoServiceProvider rsa = PemReader.GetPrivateKey(privateKeyFile);
DKIMSignatureInfo signInfo = new DKIMSignatureInfo("test", "somedomain.com");

var signedEml = eml.DKIMSign(rsa, signInfo);