חתימות דיגיטליות

חתימות דיגיטליות

חתימות דיגיטליות

Aspose.Words FOSS עבור .NET יכול לבדוק ולאמת חתימות דיגיטליות שכבר מצורפות לקובץ .docx מסמך דרך Aspose.Words.DigitalSignatures מרחב השמות. גרסה זו כוללת חתימה 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 הבסיסי כך שניתן לבדוק שדות תעודה סטנדרטיים (מנפיק, נושא, תקופת תוקף) באמצעות ממשקי ה-API של תעודות של .NET.


מה אינו נתמך בגרסה זו

הפנים של API עדיין מצהירות על חברים הקשורים לחתימה — DigitalSignatureUtil.Sign(), SignOptions, ו XmlDsigLevel — לתאימות מבנית עם מודל האובייקטים המסחרי של Aspose.Words עבור .NET, אך יצירת חתימה דיגיטלית חדשה על מסמך אינה פעילה בגרסה זו של FOSS. השתמשו בגרסה זו כדי verify חתימות שכבר קיימות במסמך; תהליך חתימה דורש Aspose.Words עבור .NET.


טיפים ושיטות מומלצות

  • עדיף להשתמש ב-DigitalSignatureUtil.LoadSignatures() במקום לפתוח את ה-Document המלא כאשר אתה רק צריך לבדוק אם קובץ חתום — זה חוסך את העלות של ניתוח כל גוף המסמך.
  • בדוק תחילה את DigitalSignatureCollection.IsValid לקבלת תוצאה מהירה של הצלחה/כשל לפני חזרה על ערכי DigitalSignature.IsValid בנפרד.
  • SignatureType מודיע לך איזו מנגנון חתימה יצר את החתימה (CryptoApi לעומת XmlDsig); זה משפיע על אילו שדות בתעודה הם משמעותיים.
  • טפל ב-IsValid == false כתנאי כישלון חמור בכל צינור קבלת מסמכים אוטומטי — אל תציג מטא-נתוני חתימה מחתימה לא תקפה כאמינים.

בעיות נפוצות

בעיהסיבהתיקון
DigitalSignatures.Count הוא 0 על .docx חתוםהקובץ נשמר מחדש על ידי כלי שהסיר את חלק החתימהאמת כנגד הקובץ החתום המקורי, ולא עותק שנשמר מחדש
החתימה מדווחת על IsValid = falseתוכן המסמך שונה לאחר החתימה, או שהאישור אינו מהימן/פג תוקףהתייחס כבלתי תקף; אל תנסה “לתקן” את החתימה
ניסיון לחתום על מסמך אינו משפיעההחתימה אינה מיושמת בגרסה זו של FOSSהשתמש ב-Aspose.Words עבור .NET (מסחרי) עבור זרימות עבודה של חתימה
CertificateHolder.Certificate זורק שגיאה בעת בדיקהנתוני האישור הבסיסיים פגומים או שהחלק של החתימה מושחתאשר שהקובץ המקורי הוא מסמך חתום אמיתי, שלא שונה

FAQ

האם Aspose.Words FOSS עבור .NET יכול לחתום על מסמך?

לא. גרסה זו יכולה לאמת חתימות דיגיטליות קיימות אך אינה יכולה ליצור חדשות. השיטה DigitalSignatureUtil.Sign() והמחלקה SignOptions קיימות במשטח API לתאימות מבנית, אך חתימה אינה פעילה כאן.

איך אני בודק אם מסמך חתום מבלי לטעון אותו במלואו?

קרא ל-DigitalSignatureUtil.LoadSignatures(fileName), שמחזיר DigitalSignatureCollection ישירות מהקובץ.

מה משמעות DigitalSignatureCollection.IsValid?

זהו true רק כאשר כל חתימה באוסף תקפה באופן אישי — דרך מהירה לבדוק את שלמות החתימה של המסמך לפני בחינת כל DigitalSignature.

היכן אני מקבל את פרטי האישור לחתימה?

דרך DigitalSignature.CertificateHolder.Certificate, שמחזיר .NET X509Certificate2 סטנדרטי.


API Reference סיכום

מחלקה / מתודהתיאור
Document.DigitalSignaturesחתימות שכבר מצורפות למסמך שנטען
DigitalSignatureUtil.LoadSignatures()קרא חתימות מקובץ או זרם מבלי לטעון את כל המסמך
DigitalSignatureCollectionאוסף לקריאה בלבד של עצמים DigitalSignature; IsValid, Count
DigitalSignatureחתימה אחת: IsValid, SignTime, SubjectName, IssuerName, CertificateHolder
DigitalSignatureTypeEnum: CryptoApi, XmlDsig, Unknown
CertificateHolderמעטף את החתימה X509Certificate2

ראה גם

 עברית