diff --git a/Digital Signature/Add-a-digital-signature-to-an-existing-document/.NET/Add-a-digital-signature-to-an-existing-document/Data/signature.png b/Digital Signature/Add-a-digital-signature-to-an-existing-document/.NET/Add-a-digital-signature-to-an-existing-document/Data/signature.png
index e700dd88..470cf510 100644
Binary files a/Digital Signature/Add-a-digital-signature-to-an-existing-document/.NET/Add-a-digital-signature-to-an-existing-document/Data/signature.png and b/Digital Signature/Add-a-digital-signature-to-an-existing-document/.NET/Add-a-digital-signature-to-an-existing-document/Data/signature.png differ
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation.slnx b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation.slnx
new file mode 100644
index 00000000..d888825c
--- /dev/null
+++ b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Input.pdf b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Input.pdf
new file mode 100644
index 00000000..b49af593
Binary files /dev/null and b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Input.pdf differ
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate0.cer b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate0.cer
new file mode 100644
index 00000000..be0a2671
Binary files /dev/null and b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate0.cer differ
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate1.cer b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate1.cer
new file mode 100644
index 00000000..484a6529
Binary files /dev/null and b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Intermediate1.cer differ
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Root.cer b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Root.cer
new file mode 100644
index 00000000..ce27297a
Binary files /dev/null and b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Data/Root.cer differ
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Digital-Signature-Validation.csproj b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Digital-Signature-Validation.csproj
new file mode 100644
index 00000000..369e3baf
--- /dev/null
+++ b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Digital-Signature-Validation.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ net8.0
+ Digital_Signature_Validation
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Output/gitkeep.txt b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Output/gitkeep.txt
new file mode 100644
index 00000000..e69de29b
diff --git a/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Program.cs b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Program.cs
new file mode 100644
index 00000000..422fe9ec
--- /dev/null
+++ b/Digital Signature/Digital-Signature-Validation/.NET/Digital-Signature-Validation/Program.cs
@@ -0,0 +1,112 @@
+using Syncfusion.Pdf.Parsing;
+using Syncfusion.Pdf.Security;
+using System.Security.Cryptography.X509Certificates;
+using System.Text;
+
+string dataPath = Path.GetFullPath(@"Data/");
+
+// Load signed PDF document
+using PdfLoadedDocument ldoc = new PdfLoadedDocument(Path.GetFullPath(@"Data/Input.pdf"));
+
+// Get signature field
+PdfLoadedSignatureField lSigFld = ldoc.Form.Fields[0] as PdfLoadedSignatureField;
+
+// Root and Intermediate Certificates
+X509CertificateCollection collection = new X509CertificateCollection();
+
+string[] certificates =
+{
+ "Root.cer",
+ "Intermediate0.cer",
+ "Intermediate1.cer"
+};
+
+foreach (string certFile in certificates)
+{
+ byte[] certData = File.ReadAllBytes(Path.Combine(dataPath, certFile));
+
+ X509Certificate2 certificate = new X509Certificate2(certData);
+
+ collection.Add(certificate);
+}
+
+// Validate signature
+PdfSignatureValidationResult result = lSigFld.ValidateSignature(collection);
+
+StringBuilder builder = new StringBuilder();
+
+builder.AppendLine("Signature is " + result.SignatureStatus);
+builder.AppendLine();
+builder.AppendLine("----------Validation Summary----------");
+builder.AppendLine();
+
+// Modified check
+if (result.IsDocumentModified)
+{
+ builder.AppendLine("The document has been altered or corrupted since the signature was applied.");
+}
+else
+{
+ builder.AppendLine("The document has not been modified since the signature was applied.");
+}
+
+// Certificate details
+builder.AppendLine("Digitally signed by: " + lSigFld.Signature.Certificate.IssuerName);
+
+builder.AppendLine("Valid From: " + lSigFld.Signature.Certificate.ValidFrom);
+
+builder.AppendLine("Valid To: " + lSigFld.Signature.Certificate.ValidTo);
+
+builder.AppendLine("Signature Algorithm: " + result.SignatureAlgorithm);
+
+builder.AppendLine("Hash Algorithm: " + result.DigestAlgorithm);
+
+// Revocation details
+builder.AppendLine("OCSP Revocation Status: " + result.RevocationResult.OcspRevocationStatus);
+
+if (result.RevocationResult.OcspRevocationStatus == RevocationStatus.None && result.RevocationResult.IsRevokedCRL)
+{
+ builder.AppendLine("CRL is revoked.");
+}
+
+builder.AppendLine();
+builder.AppendLine("--------Revocation Information---------");
+builder.AppendLine();
+
+foreach (PdfSignerCertificate signerCertificate in result.SignerCertificates)
+{
+ if (signerCertificate.OcspCertificate != null)
+ {
+ builder.AppendLine("------------OCSP Certificate-------------");
+
+ foreach (X509Certificate2 item in signerCertificate.OcspCertificate.Certificates)
+ {
+ builder.AppendLine("The OCSP Response was signed by: " + item.SubjectName.Name);
+ }
+
+ builder.AppendLine("Is Embedded: " + signerCertificate.OcspCertificate.IsEmbedded);
+
+ builder.AppendLine("Valid From: " + signerCertificate.OcspCertificate.ValidFrom);
+
+ builder.AppendLine("Valid To: " + signerCertificate.OcspCertificate.ValidTo);
+
+ builder.AppendLine();
+ }
+
+ if (signerCertificate.CrlCertificate != null)
+ {
+ builder.AppendLine("------------CRL Certificate--------------");
+
+ foreach (X509Certificate2 item in signerCertificate.CrlCertificate.Certificates)
+ {
+ builder.AppendLine("The CRL was signed by: " + item.SubjectName.Name);
+ }
+
+ builder.AppendLine("Is Embedded: " + signerCertificate.CrlCertificate.IsEmbedded);
+ builder.AppendLine("Valid From: " + signerCertificate.CrlCertificate.ValidFrom);
+ builder.AppendLine("Valid To: " + signerCertificate.CrlCertificate.ValidTo);
+ builder.AppendLine();
+ }
+}
+//Save to file
+File.WriteAllText(Path.GetFullPath(@"Output/Output.txt"),builder.ToString());
\ No newline at end of file
diff --git a/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Output/.gitkeep b/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Program.cs b/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Program.cs
index 8bc444f2..8098de48 100644
--- a/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Program.cs
+++ b/Text Extraction/Extract-text-from-the-entire-PDF-document/.NET/Extract-text-from-the-entire-PDF-document/Program.cs
@@ -11,6 +11,6 @@
{
extractedText += page.ExtractText();
}
- // Display the extracted text in the console
- Console.WriteLine("Extracted text from the entire document: " + extractedText);
+ // Save the extracted text content to a TXT file
+ File.WriteAllText(Path.GetFullPath(@"Output/Output.txt"), extractedText);
}