אנו שמחים להודיע על השחרור של GroupDocs.Signature for .NET v26.9, זמין החל מ-ספטמבר 2026. שחרור זה הוא עדכון ממוקד באבטחה שמציג תמיכה ב-.NET 10, מסיים את התמיכה ב-.NET Standard 2.1, ומחייב ברירות מחדל מחמירות יותר לטעינת משאבים חיצוניים, אלגוריתמי hashing, ואימות תעודות. הוא גם מוסיף תמיכה בחתימת מסמכי Word עם תעודות פוסט‑קוואנטיות (ML‑DSA) ומתקן מספר באגים קריטיים הקשורים לאימות, רישום, והתנהגות ספציפית לפלטפורמה.

מה חדש במוצר זה

  • [Feature] תמיכה ב-.NET 10 והפסקת התמיכה ב-.NET Standard 2.1 (SIGNATURENET-5938)
  • [Enhancement] משאבים חיצוניים אינם נטענים כברירת מחדל (SIGNATURENET-5950)
  • [Enhancement] חתימות דיגיטליות ב-PDF משתמשות ב‑SHA‑256 כברירת מחדל ומכבדות את HashAlgorithm (SIGNATURENET-5976)
  • [Enhancement] SignatureFont כבר לא חושף סוגי System.Drawing ב-.NET 6 ומעלה (SIGNATURENET-5943)
  • [Enhancement] חתימה עם תעודה שפג תוקפה או שעדיין לא בתוקף נדחית כברירת מחדל (SIGNATURENET-5995)
  • [Enhancement] חתימת מסמכי Word עם תעודות פוסט‑קוואנטיות (ML‑DSA) (SIGNATURENET-5996)
  • [Bug] Verify לא בדק את חתימות הדיגיטליות של PDF באופן קריפטוגרפי (SIGNATURENET-5978)
  • [Bug] SubjectName ו‑IssuerName התעלמו בעת אימות מסמכי PDF (SIGNATURENET-5997)
  • [Bug] פרטי שרת החותמת נשלחו רק כאשר גם שם המשתמש וגם הסיסמה הוגדרו (SIGNATURENET-5998)
  • [Bug] שמירת מצגות ומסמכי Word כתמונות נכשלה ב‑Linux וב‑macOS (SIGNATURENET-5999)
  • [Bug] LoadExternalResources התעלם ממסמכים בתוך ארכיונים (SIGNATURENET-6000)
  • [Bug] תמונות חיצוניות וגיליונות סגנון של תמונות SVG נטענו תמיד (SIGNATURENET-6001)
  • [Bug] חיפוש ואימות של גליון אלקטרוני עם תמונה מקושרת גרם ל‑ArgumentNullException (SIGNATURENET-6002)
  • [Bug] CertificateVerifyOptions.Expired היה שגוי עקב הסטת ה‑UTC המקומית (SIGNATURENET-6003)
  • [Bug] SignatureSettings.LogLevel לא השפיע (SIGNATURENET-6004)
  • [Bug] VerifyOptions משומש מחדש דיווח על חתימות של מסמכים שנבדקו קודם (SIGNATURENET-6005)
  • [Bug] DigitalSignOptions משומש מחדש חתם מצגות מאוחרות עם התעודה וההערה הראשונית שלו (SIGNATURENET-6006)
  • [Enhancement] שיפורים פנימיים (SIGNATURENET-5979)

שינויים בממשק API ציבורי

חבר שינוי
LoadOptions.SkipExternalResources חדש. bool, ברירת מחדל true. כאשר true, משאבים חיצוניים אינם נטענים, למעט אלו שתואמים ל‑WhitelistedResources.
LoadOptions.WhitelistedResources חדש. List<string>, ברירת מחדל ריקה. חלקי כתובות שיכולים להיטען כאשר SkipExternalResources הוא true. כתובת נטענת כאשר היא מכילה אחד מהם, ללא התחשבות ברישיות. הגדרת null מרוקנת את הרשימה.
LoadOptions.LoadExternalResources מיושן. עדיין פועל, עם משמעות הפוכה ל‑SkipExternalResources. ברירת המחדל שלו השתנתה מ‑true ל‑false. שימוש בו מייצר אזהרת קומפיילר CS0618.
SignatureFont implicit conversion from System.Drawing.Font הוסר מבניות .NET 6, .NET 8 ו‑.NET 10. מיושן בבנייה של .NET Framework. יש להקצות את המאפיינים של SignatureFont במקום זאת.
SignOptions.HashAlgorithm אין שינוי בממשק. כעת הוא משפיע על חתימות דיגיטליות ב‑PDF; לפני כן הוא היה מתעלם.
DigitalVerifyOptions.SubjectName, DigitalVerifyOptions.IssuerName אין שינוי בממשק. כעת הם משפיעים על מסמכי PDF; לפני כן הם היו מתעלמים שם.
SignatureSettings.LogLevel אין שינוי בממשק. כעת הוא פועל: רק הודעות ברמות שהוא מכיל מגיעות למערכת הרישום, ו‑LogLevel.None אינו רושם דבר. לפני, כל הודעה נרשמה ללא קשר לערך. תיאורי ערכי LogLevel תוקנו.
VerificationResult.Succeeded, VerificationResult.TotalSignatures אין שינוי בממשק. כאשר אובייקט VerifyOptions אחד משמש למספר קריאות Verify, הוא כעת מציג רק את החתימות של המסמך שנבדק זה עתה.
DigitalSignOptions.AllowExpired חדש. bool, ברירת מחדל false. כאשר false, חתימה עם תעודה שתוקפה הסתיים תגרום ל‑GroupDocsSignatureException. כאשר true, המסמך נחתם והודעת אזהרה נרשמת.
DigitalSignOptions.AllowNotYetValid חדש. bool, ברירת מחדל false. אותו הדבר, עבור תעודה שתקפה שלה עדיין לא החלה.

תכונות חדשות

אין תכונות חדשות מעבר לאלה המפורטות ב‑מה חדש במוצר זה וב‑שינויים בממשק API ציבורי.

דוגמת קוד

אפשר רק משאבים חיצוניים מהימנים:

LoadOptions loadOptions = new LoadOptions
{
    WhitelistedResources = new List<string> { "https://cdn.example.com/images/" }
};
using (Signature signature = new Signature("sample.docx", loadOptions))
{
    // Only images from https://cdn.example.com/images/ are loaded.
}

חתום עם SHA‑384 והשתמש בתעודה שפגה (עם אזהרה):

using (Signature signature = new Signature("sample.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "1234567890",
        HashAlgorithm = HashAlgorithm.Sha384 // honoured from this release; the default is SHA-256
    };
    signature.Sign("signed.pdf", options);
}

חתום עם תעודה שפגה המורשית במפורש:

SignatureSettings settings = new SignatureSettings(new ConsoleLogger());
using (Signature signature = new Signature("sample.pdf", settings))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "1234567890",
        AllowExpired = true
    };
    signature.Sign("signed.pdf", options);
    // If certificate.pfx has expired, the document is signed and the console shows a warning such as:
    // The signing certificate expired on 2019-05-01 12:00 UTC (subject "CN=...", thumbprint ...).
}

חתום על מסמך Word עם תעודה פוסט‑קוואנטית ML‑DSA:

using (Signature signature = new Signature("sample.docx"))
{
    DigitalSignOptions options = new DigitalSignOptions("ml-dsa-65.pfx")
    {
        Password = "1234567890"
    };
    signature.Sign("signed.docx", options);
}

הגדר רישום כך שיוצגו רק שגיאות ואזהרות:

SignatureSettings settings = new SignatureSettings(new ConsoleLogger())
{
    // Errors and warnings, without the step-by-step traces.
    LogLevel = LogLevel.Error | LogLevel.Warning
};

איך לקבל את העדכון

NuGet

שדרגו לחבילה האחרונה של GroupDocs.Signature דרך NuGet: GroupDocs.Signature 26.9.0

פקודת התקנה:

dotnet add package GroupDocs.Signature --version 26.9.0

הורדה ישירה

הורידו את הקבצים מהדף GroupDocs.Signature for .NET 26.9

משאבים