public void ValidateIndividualDocumentSignatures()
{
//ExStart
//ExFor:DigitalSignature
//ExFor:Document.DigitalSignatures
//ExFor:DigitalSignature.IsValid
//ExFor:DigitalSignature.Comments
//ExFor:DigitalSignature.SignTime
//ExFor:DigitalSignature.SignatureType
//ExFor:DigitalSignature.Certificate
//ExId:ValidateIndividualSignatures
//ExSummary:Shows how to validate each signature in a document and display basic information about the signature.
// Load the document which contains signature.
Document doc = new Document(MyDir + "Document.Signed.docx");
foreach (DigitalSignature signature in doc.DigitalSignatures)
{
Console.WriteLine("*** Signature Found ***");
Console.WriteLine("Is valid: " + signature.IsValid);
Console.WriteLine("Reason for signing: " + signature.Comments); // This property is available in MS Word documents only.
Console.WriteLine("Signature type: " + signature.SignatureType.ToString());
Console.WriteLine("Time of signing: " + signature.SignTime);
Console.WriteLine("Subject name: " + signature.CertificateHolder.Certificate.SubjectName.ToString());
Console.WriteLine("Issuer name: " + signature.CertificateHolder.Certificate.IssuerName.Name);
Console.WriteLine();
}
//ExEnd
DigitalSignature digitalSig = doc.DigitalSignatures[0];
Assert.True(digitalSig.IsValid);
Assert.AreEqual("Test Sign", digitalSig.Comments);
Assert.AreEqual("XmlDsig", digitalSig.SignatureType.ToString());
Assert.True(digitalSig.CertificateHolder.Certificate.Subject.Contains("Aspose Pty Ltd"));
Assert.True(digitalSig.CertificateHolder.Certificate.IssuerName.Name != null && digitalSig.CertificateHolder.Certificate.IssuerName.Name.Contains("VeriSign"));
}