डिजिटल साइन किए गए संदेशों का प्रबंधन
Aspose.Email पूर्ण S/MIME ईमेल वस्तु एल्गोरिथ्म को लागू करता है। इससे API को ईमेल संदेशों में डिजिटल हस्ताक्षर जोड़ने, विभिन्न स्वरूपों के बीच परिवर्तित करते समय उन्हें संरक्षित करने, हटाने आदि की पूरी शक्ति मिलती है।
ईमेल में हस्ताक्षर संलग्न करें
यह SecureEmailManager.attachSignature मेथड आपको ईमेल संदेशों में डिजिटल हस्ताक्षर संलग्न करने की अनुमति देता है। हस्ताक्षर संलग्न करने के बाद, परिणामों को इन गुणों के माध्यम से सत्यापित करें जैसे IsSigned, MessageClass, और अटैचमेंट विवरण।
आप MailMessage या MapiMessage, एक निजी प्रमाणपत्र, और हस्ताक्षर विकल्प प्रदान कर सकते हैं ताकि हस्ताक्षर संलग्न प्रक्रिया को इस के साथ कस्टमाइज़ किया जा सके SignatureOptions class जो उपयोगकर्ताओं को हस्ताक्षर संलग्न करने के विभिन्न विकल्पों को निर्दिष्ट करने की अनुमति देती है, जिसमें detached या non-detached हस्ताक्षर शामिल हैं।
निम्नलिखित कोड नमूना दिखाएगा कि फ़ाइल से संदेश कैसे लोड करें, निजी प्रमाणपत्र का उपयोग करके एक अलग (detached) और गैर-अलग (non-detached) डिजिटल हस्ताक्षर संलग्न करें, और फिर जांचें कि हस्ताक्षर सफलतापूर्वक संलग्न हुए हैं या नहीं।
String fileName = "message.msg";
String privateCertFile = "certFile.pfx";
X509Certificate2 privateCert = new X509Certificate2(privateCertFile, "password");
MapiMessage msg = MapiMessage.load(fileName);
SignatureOptions opt = new SignatureOptions();
opt.setDetached(true);
MapiMessage signedDetached = new SecureEmailManager().attachSignature(msg, privateCert, opt);
if (signedDetached.isSigned()) {
System.out.println("Detached Signature Attached Successfully.");
}
opt.setDetached(false);
MapiMessage signedNonDetached = new SecureEmailManager().attachSignature(msg, privateCert, opt);
if (signedNonDetached.isSigned()) {
System.out.println("Non-Detached Signature Attached Successfully.");
}
EML से MSG में रूपांतरण के दौरान हस्ताक्षर को संरक्षित करना
Aspose.Email EML से MSG में परिवर्तित करते समय डिजिटल हस्ताक्षर को संरक्षित करता है। निम्नलिखित कोड स्निपेट दिखाता है कि EML से MSG कैसे परिवर्तित करें।
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
// Load mail message
MailMessage message = MailMessage.load(dataDir + "Message.eml", new EmlLoadOptions());
// Save as MSG
message.save(dataDir + "ConvertEMLToMSG_out.msg", SaveOptions.getDefaultMsgUnicode());
Outlook संदेश फ़ाइल से हस्ताक्षर हटाना
यदि आपको MAPI प्रारूप के संदेश से हस्ताक्षर हटाने की आवश्यकता है, उदाहरण के लिए संगतता कारणों से, Aspose.Email यह प्रदान करता है MapiMessage.removeSignature मेथड और MapiMessage.isSigned प्रॉपर्टी।
निम्नलिखित कोड स्निपेट दिखाता है कि फ़ाइल से MAPI संदेश कैसे लोड करें, जांचें कि क्या वह डिजिटल रूप से साइन किया गया है, और यदि हाँ, तो डिजिटल हस्ताक्षर के बिना नया संदेश बनाएँ:
MapiMessage msg = MapiMessage.load(fileName);
if (msg.isSigned()) {
MapiMessage unsignedMsg = msg.removeSignature();
}
MSG से EML में S/MIME संदेशों का रूपांतरण
Aspose.Email MSG को EML में परिवर्तित करते समय डिजिटल हस्ताक्षर को संरक्षित करता है, जैसा कि निम्नलिखित कोड स्निपेट में दिखाया गया है।
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = "outlook/";
MailMessage msg = MailMessage.load(dataDir + "message.eml");
MapiMessage mapi = MapiMessage.fromMailMessage(msg, new MapiConversionOptions(OutlookMessageFormat.Unicode));
// Save File to disk
mapi.save(dataDir + "ConvertMIMEMessagesFromMSGToEML_out.msg");
प्रमाणपत्र के साथ MSG फ़ाइल को डिक्रिप्ट करें
यदि आपके पास एन्क्रिप्टेड MAPI संदेश हैं और आपको प्रमाणपत्र में संग्रहीत निजी कुंजी से उन्हें डिक्रिप्ट करने की आवश्यकता है, तो Aspose.Email की निम्नलिखित सुविधाएँ उपयोगी हो सकती हैं:
- MapiMessage.isEncrypted - एक मान प्राप्त करता है जो दर्शाता है कि संदेश एन्क्रिप्टेड है या नहीं।
- MapiMessage.decrypt() - इस संदेश को डिक्रिप्ट करता है (विधि वर्तमान उपयोगकर्ता और कंप्यूटर के My स्टोर्स में उपयुक्त प्रमाणपत्र और निजी कुंजी की खोज करता है)।
- MapiMessage.decrypt(X509Certificate2 certificate) - इस संदेश को प्रमाणपत्र के साथ डिक्रिप्ट करता है।
निम्नलिखित कोड स्निपेट दिखाता है कि एन्क्रिप्टेड MAPI संदेशों के साथ कैसे काम किया जाए:
X509Certificate2 privateCert = new X509Certificate2("privateCertFile", "password");
MapiMessage msg = MapiMessage.load("encrypted.msg");
if (msg.isEncrypted()) {
MapiMessage decryptedMsg = msg.decrypt(privateCert);
//MapiMessage decryptedMsg = msg.decrypt(/*byte[]*/rawPrivateCert, "password");
}