We zijn blij de release van GroupDocs.Signature for .NET v26.9 aan te kondigen, beschikbaar vanaf september 2026. Deze release is een op veiligheid gerichte update die .NET 10‑ondersteuning introduceert, .NET Standard 2.1 stopzet, en strengere standaardinstellingen afdwingt voor het laden van externe bronnen, hash‑algoritmen en certificaatvalidatie. Daarnaast voegt het ondersteuning toe voor het ondertekenen van Word‑documenten met post‑quantum (ML‑DSA) certificaten en lost het verschillende kritieke bugs op die verband houden met verificatie, logging en platform‑specifiek gedrag.
Wat is nieuw in deze release
- [Feature] .NET 10‑ondersteuning en .NET Standard 2.1 stopgezet (SIGNATURENET-5938)
- [Enhancement] Externe bronnen worden niet langer standaard geladen (SIGNATURENET-5950)
- [Enhancement] PDF‑digitale handtekeningen gebruiken standaard SHA‑256 en respecteren HashAlgorithm (SIGNATURENET-5976)
- [Enhancement] SignatureFont exposeert geen System.Drawing‑types meer op .NET 6 en hoger (SIGNATURENET-5943)
- [Enhancement] Ondertekenen met een verlopen of nog niet geldige certificaat wordt standaard afgewezen (SIGNATURENET-5995)
- [Enhancement] Onderteken Word‑documenten met post‑quantum (ML‑DSA) certificaten (SIGNATURENET-5996)
- [Bug] Verify controleerde PDF‑digitale handtekeningen niet cryptografisch (SIGNATURENET-5978)
- [Bug] SubjectName en IssuerName werden genegeerd bij het verifiëren van PDF‑documenten (SIGNATURENET-5997)
- [Bug] Tijdstempelserverreferenties werden alleen verzonden wanneer zowel gebruikersnaam als wachtwoord waren ingesteld (SIGNATURENET-5998)
- [Bug] Het opslaan van presentaties en Word‑documenten als afbeeldingen mislukte op Linux en macOS (SIGNATURENET-5999)
- [Bug] LoadExternalResources werd genegeerd voor documenten in archieven (SIGNATURENET-6000)
- [Bug] Externe afbeeldingen en stijlsheets van SVG‑afbeeldingen werden altijd geladen (SIGNATURENET-6001)
- [Bug] Zoeken en verifiëren van een spreadsheet met een gekoppelde afbeelding veroorzaakte ArgumentNullException (SIGNATURENET-6002)
- [Bug] CertificateVerifyOptions.Expired was onjuist door de lokale UTC‑offset (SIGNATURENET-6003)
- [Bug] SignatureSettings.LogLevel had geen effect (SIGNATURENET-6004)
- [Bug] Een hergebruikt VerifyOptions rapporteerde handtekeningen van eerder geverifieerde documenten (SIGNATURENET-6005)
- [Bug] Een hergebruikt DigitalSignOptions ondertekende latere presentaties met het eerste certificaat en commentaar (SIGNATURENET-6006)
- [Enhancement] Interne verbeteringen (SIGNATURENET-5979)
Publieke API‑wijzigingen
| Lid | Wijziging |
|---|---|
LoadOptions.SkipExternalResources |
Nieuw. bool, standaard true. Wanneer true, worden externe bronnen niet geladen, behalve die die overeenkomen met WhitelistedResources. |
LoadOptions.WhitelistedResources |
Nieuw. List<string>, standaard leeg. Delen van adressen die geladen mogen worden terwijl SkipExternalResources true is. Een adres wordt geladen wanneer het een van deze bevat, zonder hoofdlettergevoeligheid. Instellen op null wist de lijst. |
LoadOptions.LoadExternalResources |
Verouderd. Werkt nog, met de tegenovergestelde betekenis van SkipExternalResources. De standaardwaarde is gewijzigd van true naar false. Gebruik ervan veroorzaakt compilerwaarschuwing CS0618. |
SignatureFont implicit conversion from System.Drawing.Font |
Verwijderd uit de .NET 6-, .NET 8- en .NET 10‑builds. Verouderd in de .NET Framework‑build. Wijs in plaats daarvan de SignatureFont‑eigenschappen toe. |
SignOptions.HashAlgorithm |
Geen ondertekeningswijziging. Het heeft nu effect voor PDF‑digitale handtekeningen; voorheen werd het genegeerd. |
DigitalVerifyOptions.SubjectName, DigitalVerifyOptions.IssuerName |
Geen ondertekeningswijziging. Ze hebben nu effect voor PDF‑documenten; voorheen werden ze daar genegeerd. |
SignatureSettings.LogLevel |
Geen ondertekeningswijziging. Het heeft nu effect: alleen berichten van de niveaus die het bevat, bereiken de logger, en LogLevel.None logt niets. Voorheen werd elk bericht gelogd, ongeacht de waarde. De beschrijvingen van de LogLevel‑waarden zijn gecorrigeerd. |
VerificationResult.Succeeded, VerificationResult.TotalSignatures |
Geen ondertekeningswijziging. Wanneer één VerifyOptions‑object wordt gebruikt voor meerdere Verify‑aanroepen, tonen ze nu alleen de handtekeningen van het zojuist geverifieerde document. |
DigitalSignOptions.AllowExpired |
Nieuw. bool, standaard false. Wanneer false, veroorzaakt ondertekenen met een certificaat waarvan de geldigheidsperiode is verlopen een GroupDocsSignatureException. Wanneer true, wordt het document ondertekend en wordt een waarschuwing gelogd. |
DigitalSignOptions.AllowNotYetValid |
Nieuw. bool, standaard false. Hetzelfde, voor een certificaat waarvan de geldigheidsperiode nog niet is begonnen. |
Nieuwe functies
Geen nieuwe functies naast die vermeld in Wat is nieuw in deze release en Publieke API‑wijzigingen.
Codevoorbeeld
Sta alleen vertrouwde externe bronnen toe:
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.
}
Onderteken met SHA‑384 en gebruik een verlopen certificaat (met waarschuwing):
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);
}
Onderteken met een verlopen certificaat expliciet toegestaan:
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 ...).
}
Onderteken een Word‑document met een post‑quantum ML‑DSA certificaat:
using (Signature signature = new Signature("sample.docx"))
{
DigitalSignOptions options = new DigitalSignOptions("ml-dsa-65.pfx")
{
Password = "1234567890"
};
signature.Sign("signed.docx", options);
}
Configureer logging om alleen fouten en waarschuwingen weer te geven:
SignatureSettings settings = new SignatureSettings(new ConsoleLogger())
{
// Errors and warnings, without the step-by-step traces.
LogLevel = LogLevel.Error | LogLevel.Warning
};
Hoe de update te verkrijgen
NuGet
Upgrade naar het nieuwste GroupDocs.Signature‑pakket via NuGet: GroupDocs.Signature 26.9.0
Installatieopdracht:
dotnet add package GroupDocs.Signature --version 26.9.0
Directe download
Download assemblies van de GroupDocs.Signature for .NET 26.9 pagina