Skip to content

Commit 07c33f6

Browse files
committed
259676: Resolved the given feedback
1 parent 2ea2095 commit 07c33f6

File tree

1 file changed

+59
-1
lines changed
  • Digital Signature/Validate-the-digitally-signed-PDF-signature/.NET/Validate-the-digitally-signed-PDF-signature

1 file changed

+59
-1
lines changed

Digital Signature/Validate-the-digitally-signed-PDF-signature/.NET/Validate-the-digitally-signed-PDF-signature/Program.cs

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,64 @@
3232
// Validate the signature using the provided certificate collection
3333
PdfSignatureValidationResult result = signatureField.ValidateSignature(collection);
3434

35+
// Initialize flag to detect timestamp signatures
36+
bool isTimeStampSignature = false;
37+
38+
// Check if the TimeStampInformation object is not null
39+
if (result.TimeStampInformation != null)
40+
{
41+
// Check if the signature is a document timestamp
42+
if (result.TimeStampInformation.IsDocumentTimeStamp)
43+
{
44+
isTimeStampSignature = true;
45+
Console.WriteLine("Signature is a document timestamp signature.");
46+
}
47+
48+
// Retrieve signer certificates if available
49+
PdfSignerCertificate[] certificates = result.TimeStampInformation.SignerCertificates;
50+
if (certificates != null && certificates.Length > 0)
51+
{
52+
Console.WriteLine($"Retrieved {certificates.Length} signer certificate(s).");
53+
}
54+
else
55+
{
56+
Console.WriteLine("No signer certificates found.");
57+
}
58+
59+
// Retrieve the main certificate
60+
X509Certificate2 certificate2 = result.TimeStampInformation.Certificate;
61+
if (certificate2 != null)
62+
{
63+
Console.WriteLine($"Certificate Subject: {certificate2.Subject}");
64+
}
65+
else
66+
{
67+
Console.WriteLine("No certificate found.");
68+
}
69+
70+
// Retrieve timestamp date
71+
DateTime dateTime = result.TimeStampInformation.Time;
72+
Console.WriteLine($"Timestamp Date: {dateTime}");
73+
74+
// Retrieve timestamp policy ID
75+
string policyID = result.TimeStampInformation.TimeStampPolicyId;
76+
if (!string.IsNullOrEmpty(policyID))
77+
{
78+
Console.WriteLine($"Timestamp Policy ID: {policyID}");
79+
}
80+
else
81+
{
82+
Console.WriteLine("No Timestamp Policy ID found.");
83+
}
84+
85+
// Check if the timestamp is valid
86+
bool valid = result.TimeStampInformation.IsValid;
87+
Console.WriteLine($"Timestamp Validity: {(valid ? "Valid" : "Invalid")}");
88+
}
89+
else
90+
{
91+
Console.WriteLine("TimeStampInformation is null. Cannot retrieve timestamp details.");
92+
}
3593
// Check if the signature is valid
3694
SignatureStatus status = result.SignatureStatus;
3795

@@ -77,4 +135,4 @@
77135
// Close the loaded PDF document and release resources
78136
loadedDocument.Close(true);
79137
}
80-
}
138+
}

0 commit comments

Comments
 (0)