डिजिटल हस्ताक्षर

डिजिटल हस्ताक्षर

डिजिटल हस्ताक्षर

Aspose.Words FOSS for .NET पहले से किसी दस्तावेज़ में संलग्न डिजिटल हस्ताक्षरों की जाँच और सत्यापन कर सकता है एक .docx दस्तावेज़ के माध्यम से Aspose.Words.DigitalSignatures namespace. इस संस्करण में हस्ताक्षर verification — हस्ताक्षर मेटाडेटा पढ़ना, वैधता जांचना, और साइनिंग प्रमाणपत्र का परीक्षण करना। इसमें दस्तावेज़ पर नए हस्ताक्षर बनाने की क्षमता शामिल नहीं है।


दस्तावेज़ से हस्ताक्षर पढ़ना

हर Document एक DigitalSignatures प्रॉपर्टी उजागर करता है जो एक DigitalSignatureCollection लौटाती है — एक पढ़ने-के-लिए-केवल, गणनीय संग्रह जिसमें लोड की गई फ़ाइल में पहले से मौजूद DigitalSignature वस्तुएँ होती हैं। DigitalSignatureUtil.LoadSignatures(fileName) (और LoadSignatures(stream) ओवरलोड) फ़ाइल या स्ट्रीम से सीधे हस्ताक्षर पढ़ता है बिना पूरी दस्तावेज़ को एक Document ऑब्जेक्ट में लोड किए, जो तब उपयोगी होता है जब आपको केवल हस्ताक्षर स्थिति जाँचनी हो। संग्रह की IsValid प्रॉपर्टी बताती है कि उसमें मौजूद प्रत्येक हस्ताक्षर वैध है या नहीं, और Count बताता है कि कितने हस्ताक्षर मिले।


एकल हस्ताक्षर का निरीक्षण

प्रत्येक DigitalSignature IsValid (क्या हस्ताक्षर क्रिप्टोग्राफ़िक रूप से वैध है), SignatureType (एक DigitalSignatureType मान — CryptoApi, XmlDsig, या Unknown), SignTime, Comments, SubjectName, IssuerName, और कच्चे SignatureValue बाइट्स उजागर करता है। CertificateHolder प्रॉपर्टी एक CertificateHolder ऑब्जेक्ट लौटाती है जो साइनिंग प्रमाणपत्र को लपेटता है; इसकी Certificate प्रॉपर्टी अंतर्निहित X509Certificate2 को उजागर करती है ताकि आप .NET के अपने प्रमाणपत्र API के साथ मानक प्रमाणपत्र फ़ील्ड (इश्यूअर, सब्जेक्ट, वैधता अवधि) का निरीक्षण कर सकें।


इस संस्करण में क्या समर्थित नहीं है

The API सतह अभी भी साइनिंग-संबंधी सदस्य घोषित करती है — DigitalSignatureUtil.Sign(), SignOptions, और XmlDsigLevel — व्यावसायिक Aspose.Words for .NET ऑब्जेक्ट मॉडल के साथ संरचनात्मक संगतता के लिये, लेकिन दस्तावेज़ पर नया डिजिटल हस्ताक्षर बनाना इस FOSS संस्करण में कार्यात्मक नहीं है। इस संस्करण का उपयोग करके verify एक दस्तावेज़ में पहले से मौजूद हस्ताक्षर; एक साइनिंग वर्कफ़्लो की आवश्यकता होती है Aspose.Words के लिए .NET.


टिप्स और सर्वश्रेष्ठ प्रथाएँ

  • जब आपको केवल यह जांचने की आवश्यकता हो कि फ़ाइल पर हस्ताक्षर है या नहीं, तो पूरे Document को खोलने के बजाय DigitalSignatureUtil.LoadSignatures() को प्राथमिकता दें — यह पूरे दस्तावेज़ बॉडी को पार्स करने की लागत बचाता है।
  • व्यक्तिगत DigitalSignature.IsValid मानों पर इटरिट करने से पहले तेज़ पास/फ़ेल जांच के लिए पहले DigitalSignatureCollection.IsValid जांचें।
  • SignatureType आपको बताता है कि किस हस्ताक्षर तंत्र ने हस्ताक्षर उत्पन्न किया है (CryptoApi बनाम XmlDsig); यह प्रभावित करता है कि कौन-से प्रमाणपत्र फ़ील्ड अर्थपूर्ण हैं।
  • किसी भी स्वचालित दस्तावेज़-इनटेक पाइपलाइन में IsValid == false को कठोर विफलता स्थिति के रूप में मानें — अमान्य हस्ताक्षर से प्राप्त हस्ताक्षर मेटाडेटा को विश्वसनीय न दिखाएँ।

सामान्य समस्याएँ

समस्याकारणसमाधान
DigitalSignatures.Count एक साइन्ड .docx पर 0 हैफ़ाइल को एक टूल द्वारा पुनः-सहेजा गया जिसने हस्ताक्षर भाग को हटा दियामूल हस्ताक्षरित फ़ाइल के विरुद्ध सत्यापित करें, न कि पुनः-सहेजी गई प्रति
हस्ताक्षर रिपोर्ट करता है IsValid = falseहस्ताक्षर के बाद दस्तावेज़ की सामग्री बदल गई है, या प्रमाणपत्र अप्रविश्वसनीय/समय समाप्त हो चुका हैइसे अमान्य मानें; हस्ताक्षर को “मरम्मत” करने का प्रयास न करें
दस्तावेज़ पर हस्ताक्षर करने का प्रयास कोई प्रभाव नहीं डालताहस्ताक्षर इस FOSS संस्करण में लागू नहीं किया गया हैहस्ताक्षर कार्यप्रवाहों के लिए .NET (व्यावसायिक) के लिये Aspose.Words का उपयोग करें
CertificateHolder.Certificate निरीक्षण करने पर अपवाद फेंकता हैअधोस्तर प्रमाणपत्र डेटा विकृत है या हस्ताक्षर भाग भ्रष्ट हैसुनिश्चित करें कि स्रोत फ़ाइल एक वास्तविक, अपरिवर्तित, हस्ताक्षरित दस्तावेज़ है

FAQ

क्या Aspose.Words FOSS for .NET एक दस्तावेज़ पर हस्ताक्षर कर सकता है?

नहीं। यह संस्करण मौजूदा डिजिटल हस्ताक्षरों को सत्यापित कर सकता है लेकिन नए नहीं बना सकता। DigitalSignatureUtil.Sign() method और SignOptions class API surface में संरचनात्मक संगतता के लिए मौजूद हैं, लेकिन यहाँ साइनिंग कार्यात्मक नहीं है।

मैं बिना पूरी तरह लोड किए यह कैसे जांचूँ कि दस्तावेज़ पर हस्ताक्षर है या नहीं?

DigitalSignatureUtil.LoadSignatures(fileName) को कॉल करें, जो फ़ाइल से सीधे एक DigitalSignatureCollection लौटाता है।

DigitalSignatureCollection.IsValid का क्या अर्थ है?

यह true तभी है जब संग्रह में प्रत्येक हस्ताक्षर व्यक्तिगत रूप से वैध हो — प्रत्येक DigitalSignature की जाँच करने से पहले संपूर्ण दस्तावेज़ हस्ताक्षर की अखंडता जाँचने का एक त्वरित तरीका।

हस्ताक्षर के लिए प्रमाणपत्र विवरण मुझे कहाँ मिलेंगे?

DigitalSignature.CertificateHolder.Certificate के माध्यम से, जो एक मानक .NET X509Certificate2 लौटाता है।


API Reference सारांश

क्लास / मेथडविवरण
Document.DigitalSignaturesलोड किए गए दस्तावेज़ में पहले से संलग्न हस्ताक्षर
DigitalSignatureUtil.LoadSignatures()फ़ाइल या स्ट्रीम से हस्ताक्षर पढ़ें बिना पूरे दस्तावेज़ को लोड किए
DigitalSignatureCollectionDigitalSignature ऑब्जेक्ट्स का केवल-पढ़ने योग्य संग्रह; IsValid, Count
DigitalSignatureएकल हस्ताक्षर: IsValid, SignTime, SubjectName, IssuerName, CertificateHolder
DigitalSignatureTypeEnum: CryptoApi, XmlDsig, Unknown
CertificateHolderसाइनिंग X509Certificate2 को लपेटता है

यह भी देखें

 हिन्दी