Sign documents with exception handling

GroupDocs.Signature provides different error messages due to validation issues, missing required data, files etc. For exception class GroupDocsSignatureException is being used.

Here are the steps to handle exceptions from GroupDocs.Signature:

This example shows how to handle GroupDocs.Signature exceptions.

try
{
    using (Signature signature = new Signature("sample.xlsx"))
    {
        DigitalSignOptions options = new DigitalSignOptions()
        {
            CertificateFilePath = Constants.CertificatePfx,
            ImageFilePath = Constants.ImageHandwrite,
            // skip password specification
            //Password = "123456780"
        };
        // sign document to file
        signature.Sign("signed.xlsx", options);
    }
}
catch (GroupDocsSignatureException ex)
{
    Console.WriteLine("GroupDocs Signature Exception: " + ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("System Exception: " + ex.Message);
}

Digital certificate errors

Starting with GroupDocs.Signature for .NET 26.9, Sign also throws GroupDocsSignatureException when the signing certificate has expired or is not valid yet, and nothing is signed or saved. See “Certificates outside their validity period” in Pdf Digitally signing for the message and for the AllowExpired and AllowNotYetValid properties that allow such a certificate.

Sign also throws when the time-stamp authority set in PdfDigitalSignature.TimeStamp cannot be reached or rejects the request. See Sign PDF document with a time stamp.

More resources

GitHub Examples

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online Apps

Along with the full-featured .NET library, we provide simple but powerful free online apps.

To sign PDF, Word, Excel, PowerPoint, and other documents you can use the online apps from the GroupDocs.Signature App Product Family.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.