ईमेल सुरक्षा और एन्क्रिप्शन

संदेश एन्क्रिप्ट/डिक्रिप्ट करें

Aspose.Email X509Certificates का उपयोग करके ईमेल संदेशों को एन्क्रिप्ट और डिक्रिप्ट करने की सुविधा प्रदान करता है। यह लेख दिखाता है कि मौजूदा या नया संदेश कैसे लोड करके एन्क्रिप्ट किया जा सकता है, उपयोग करके MailMessage. यह Encrypt() और Decrypt() मेथड्स एक लौटाते हैं MailMessage ऑब्जेक्ट लागू प्रभावों के लिए होता है और संदेशों को एन्क्रिप्ट/डिक्रिप्ट करते समय इसका ध्यान रखना आवश्यक है। संदेशों को एन्क्रिप्ट और डिक्रिप्ट करने में निम्नलिखित चरण शामिल हैं:

  1. एक नया संदेश बनाएँ या मौजूदा को लोड करें
  2. X509Certificate ऑब्जेक्ट का उपयोग करके एन्क्रिप्शन प्रमाणपत्र लोड करें
  3. प्रमाणपत्र का उपयोग करके संदेश एन्क्रिप्ट करें
  4. संदेश भेजें या सहेजें
  5. आवश्यकतानुसार संदेश को डिक्रिप्ट करें

निम्नलिखित कोड स्निपेट दिखाता है कि आप संदेशों को एन्क्रिप्ट और डिक्रिप्ट कैसे कर सकते हैं।

// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();

string publicCertFile = dataDir + "MartinCertificate.cer";
string privateCertFile = dataDir + "MartinCertificate.pfx";

X509Certificate2 publicCert = new X509Certificate2(publicCertFile);
X509Certificate2 privateCert = new X509Certificate2(privateCertFile, "anothertestaccount");

// Create a message
MailMessage msg = new MailMessage("atneostthaecrcount@gmail.com", "atneostthaecrcount@gmail.com", "Test subject", "Test Body");

// Encrypt the message
MailMessage eMsg = msg.Encrypt(publicCert);
if (eMsg.IsEncrypted == true)
    Console.WriteLine("Its encrypted");
else
    Console.WriteLine("Its NOT encrypted");

// Decrypt the message
MailMessage dMsg = eMsg.Decrypt(privateCert);
if (dMsg.IsEncrypted == true)
    Console.WriteLine("Its encrypted");
else
    Console.WriteLine("Its NOT encrypted");

संदेश एन्क्रिप्शन सत्यापित करें

Aspose.Email MailMessage क्लास आपको यह जांचने की अनुमति देता है कि क्या संदेश एन्क्रिप्टेड है या नहीं। यह IsEncrypted की प्रॉपर्टी MailMessage आपको इसे नीचे दिए गए कोड नमूने में दिखाए अनुसार जांचने की अनुमति देता है।

MailMessage mailMessageOrig = MailMessage.Load(Path.Combine(dataDir, "Message.msg"), new MsgLoadOptions());
X509Certificate2 publicCert = new X509Certificate2(publicCertFile);
X509Certificate2 privateCert = new X509Certificate2(privateCertFile, "anothertestaccount");

Console.WriteLine("Message is encrypted: {0}" , mailMessageOrig.IsEncrypted);
MailMessage mailMessage = mailMessageOrig.Encrypt(publicCert);
Console.WriteLine("Message is encrypted: {0}", mailMessage.IsEncrypted);
mailMessage = mailMessage.Decrypt(privateCert);
Console.WriteLine("Message is encrypted: {0}", mailMessage.IsEncrypted);

सुरक्षित ईमेल सिग्नेचर जाँच

यह SecureEmailManager क्लास आपको सुरक्षित MailMessage ऑब्जेक्ट्स की सिग्नेचर जांचने की अनुमति देती है।

यह SmimeResult क्लास जांच के परिणामों को संग्रहीत करती है।

निम्नलिखित मेथड्स SecureEmailManager क्लास और कोड स्निपेट आपको सिग्नेचर प्रोसेस करने में सक्षम करेंगे:

प्रमाणपत्र प्रदान किए बिना संदेश के हस्ताक्षर की जाँच करें:

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

DKIM के साथ ईमेल साइन करें

Aspose.Email DKIM (डोमेन कीज आइडेंटिफ़ाइड मेल) के साथ ईमेल पर हस्ताक्षर करने की अनुमति देता है। यह एक संगठन को ट्रांज़िट में रहने वाले संदेश की जिम्मेदारी लेने देता है (और जानकारी). DKIM ईमेल संदेश हेडर में एक डिजिटल सिग्नेचर जोड़ता है जिसे प्राप्तकर्ता सत्यापित कर सकते हैं। प्रेषक की सार्वजनिक कुंजी प्राप्तकर्ता को यह जांचने में सक्षम बनाती है कि सिग्नेचर संदेश की सामग्री से मेल खाता है। यह DKIMSign विधि MailMessage क्लास का उपयोग संदेश को साइन करने के लिए क्रिप्टोग्राफ़िक और हस्ताक्षर जानकारी सेट करने हेतु किया जाता है। निम्नलिखित कोड स्निपेट दिखाता है कि 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);