Segurança e Criptografia de Email

Criptografar/Descriptografar Mensagens

Aspose.Email fornece a funcionalidade de criptografar e descriptografar mensagens de email usando X509Certificates. Este artigo mostra como uma mensagem existente ou nova pode ser carregada e criptografada usando MailMessage. O Encrypt() e Decrypt() métodos retornam um MailMessage objeto para os efeitos aplicados e precisam ser considerados ao criptografar/descriptografar mensagens. Criptografar e descriptografar mensagens envolve as seguintes etapas:

  1. Criar uma nova mensagem ou carregar uma existente
  2. Carregar um certificado de criptografia usando o objeto X509Certificate
  3. Criptografar a mensagem usando o certificado
  4. Enviar a mensagem ou salvá‑la
  5. Descriptografar a mensagem conforme necessário

O trecho de código a seguir mostra como criptografar e descriptografar mensagens.

Verificar Criptografia da Mensagem

Aspose.Email MailMessage classe permite que você verifique se uma mensagem está criptografada ou não. O IsEncryptedpropriedade de MailMessage permite que você verifique isso como demonstrado no exemplo de código a seguir.

Verificando Assinatura de Emails Seguros

O SecureEmailManager classe permite que você verifique a assinatura de objetos MailMessage seguros.

O SmimeResult classe armazena os resultados da verificação.

Os seguintes métodos da SecureEmailManager classe e um trecho de código permitirão que você processe uma assinatura:

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);

Assinar E‑mails com DKIM

NOTA: O recurso está acessível somente para versões da biblioteca que visam .NET Framework. Versões que visam .NET Core não possuem este recurso.

Aspose.Email permite assinar Email com DKIM (DomainKeys Identified Mail). Isto permite que uma organização assuma a responsabilidade por uma mensagem em trânsito (Mais informações). DKIM adiciona uma assinatura digital aos cabeçalhos da mensagem de email que pode ser validada pelos destinatários. A chave pública do remetente permite que o receptor verifique se a assinatura corresponde ao conteúdo da mensagem. O DKIMSign método do MailMessage classe é usada para definir as informações criptográficas e de assinatura para assinar a mensagem. O trecho de código a seguir mostra como assinar emails com 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);