diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx new file mode 100644 index 000000000..5a5369877 --- /dev/null +++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj new file mode 100644 index 000000000..a1130ee4a --- /dev/null +++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Add-digital-signature-invisible.csproj @@ -0,0 +1,27 @@ + + + + Exe + net10.0 + Add_digital_signature_invisible + enable + enable + + + + + + + + + Always + + + Always + + + Always + + + + diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx new file mode 100644 index 000000000..87b88d654 Binary files /dev/null and b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/Template.docx differ diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx new file mode 100644 index 000000000..940afae4f Binary files /dev/null and b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Data/certificate.pfx differ diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs new file mode 100644 index 000000000..a83d2a3fa --- /dev/null +++ b/Digital-Signature/Add-digital-signature-invisible/.NET/Add-digital-signature-invisible/Program.cs @@ -0,0 +1,27 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Add_digital_signature_invisible +{ + class Program + { + static void Main(string[] args) + { + //Opens an existing Word document. + WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx")); + //Loads the signing certificate from disk. + OfficeDigitalSignatureCertificate certificate = new OfficeDigitalSignatureCertificate(Path.GetFullPath(@"Data\certificate.pfx"), "password123"); + //Configures signature settings. + SignatureSettings settings = new SignatureSettings(); + settings.Comments = "Approved"; + settings.SignTime = DateTime.Now; + //Adds an invisible digital signature to the document using the certificate and settings. + document.AddDigitalSignature(certificate, settings); + //Saves the Word document to file. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + //Closes the document + document.Close(); + } + } +} diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx new file mode 100644 index 000000000..ed87dda02 --- /dev/null +++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx new file mode 100644 index 000000000..3429b3abd Binary files /dev/null and b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Data/Template.docx differ diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj new file mode 100644 index 000000000..8759f6192 --- /dev/null +++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Insert-signature-line.csproj @@ -0,0 +1,25 @@ + + + + Exe + net10.0 + Insert_signature_line + enable + enable + + + + + + + + + Always + + + Always + + + + + diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs new file mode 100644 index 000000000..fda2ce8d2 --- /dev/null +++ b/Digital-Signature/Insert-signature-line/.NET/Insert-signature-line/Program.cs @@ -0,0 +1,38 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Insert_signature_line +{ + class Program + { + static void Main(string[] args) + { + //Opens an existing Word document. + WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx")); + //Gets the first section of the document. + IWSection section = document.Sections[0]; + //Adds new paragraph to the section. + IWParagraph paragraph = section.AddParagraph(); + //Adds new text to the paragraph + paragraph.AppendText("Please sign below: "); + //Adds a new paragraph that will host the signature line. + IWParagraph signatureParagraph = section.AddParagraph(); + //Configures the signature line settings. + SignatureLineSettings settings = new SignatureLineSettings(); + settings.Signer = "John Doe"; + settings.SignerTitle = "Manager"; + settings.Email = "john.doe@example.com"; + settings.Instructions = "Please review and sign."; + settings.AllowComments = true; + settings.ShowDate = true; + //Inserts the signature line into the new paragraph with the specified dimensions. + IWPicture picture = signatureParagraph.AppendSignatureLine(settings, 200, 100); + //Saves the Word document to file. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + //Closes the document + document.Close(); + } + } +} + diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx new file mode 100644 index 000000000..fa1e3e3a3 --- /dev/null +++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx new file mode 100644 index 000000000..499c81695 Binary files /dev/null and b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Data/SignedDocument.docx differ diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj new file mode 100644 index 000000000..3fb94d656 --- /dev/null +++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Inspect-digital-signature.csproj @@ -0,0 +1,21 @@ + + + + Exe + net10.0 + Inspect_digital_signature + enable + enable + + + + + + + + + Always + + + + diff --git a/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs new file mode 100644 index 000000000..2edf05336 --- /dev/null +++ b/Digital-Signature/Inspect-digital-signature/.NET/Inspect-digital-signature/Program.cs @@ -0,0 +1,37 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Inspect_digital_signature +{ + class Program + { + static void Main(string[] args) + { + //Opens the signed Word document. + WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx")); + // Gets the digital signature collection in the document. + OfficeDigitalSignatureCollection signatures = document.DigitalSignatures; + + // Checks whether every digital signature in the collection is valid. + bool allValid = signatures.IsValid; + Console.WriteLine("All signatures are valid: " + allValid); + + // Displays details of each signature. + foreach (OfficeDigitalSignature signature in signatures) + { + Console.WriteLine("Signature comments: " + signature.Comments); + Console.WriteLine("Time of signing: " + signature.SigningTime); + Console.WriteLine("Subject name: " + + signature.Certificate.Subject); + Console.WriteLine("Issuer name: " + + signature.Certificate.Issuer); + Console.WriteLine(); + } + + // Closes the document. + document.Close(); + } + } +} + diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx new file mode 100644 index 000000000..3cc1aa468 --- /dev/null +++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx new file mode 100644 index 000000000..499c81695 Binary files /dev/null and b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Data/SignedDocument.docx differ diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs new file mode 100644 index 000000000..5c768ec6d --- /dev/null +++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Program.cs @@ -0,0 +1,22 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Remove_digital_signature +{ + class Program + { + static void Main(string[] args) + { + //Opens the signed Word document. + WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx")); + //Removes all digital signatures from the document. + document.RemoveAllDigitalSignatures(); + //Saves the Word document to file. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + //Closes the document + document.Close(); + } + } +} + diff --git a/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj new file mode 100644 index 000000000..6cf1def1f --- /dev/null +++ b/Digital-Signature/Remove-digital-signature/.NET/Remove-digital-signature/Remove-digital-signature.csproj @@ -0,0 +1,24 @@ + + + + Exe + net10.0 + Remove_digital_signature + enable + enable + + + + + + + + + Always + + + Always + + + + diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx new file mode 100644 index 000000000..616a5ed60 --- /dev/null +++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png new file mode 100644 index 000000000..1e85bb5eb Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/BruceSignature.png differ diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png new file mode 100644 index 000000000..52d2f33d5 Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/SteveSignature.png differ diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx new file mode 100644 index 000000000..d87fcc068 Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/Template.docx differ diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png new file mode 100644 index 000000000..e547d7df2 Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/TonySignature.png differ diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx new file mode 100644 index 000000000..940afae4f Binary files /dev/null and b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Data/certificate.pfx differ diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs new file mode 100644 index 000000000..0cb4b4fcf --- /dev/null +++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Program.cs @@ -0,0 +1,89 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Sign_multiple_signature_lines +{ + class Program + { + static void Main(string[] args) + { + // Opens an existing Word document and adds signature lines. + Dictionary signatureInfo; + using (WordDocument document = new WordDocument(Path.GetFullPath(@"Data\Template.docx"))) + { + // Gets the last section of the document. + IWSection section = document.LastSection; + + // Stores the signature line IDs and corresponding signature image paths. + signatureInfo = new Dictionary(); + + // Defines the signers. + string[] signers = { "Tony", "Steve", "Bruce" }; + + // Defines the signature images corresponding to each signer. + string[] images = + { + Path.GetFullPath(@"Data\TonySignature.png"), + Path.GetFullPath(@"Data\SteveSignature.png"), + Path.GetFullPath(@"Data\BruceSignature.png") + }; + + // Adds a signature line for each signer. + for (int i = 0; i < signers.Length; i++) + { + IWParagraph paragraph = section.AddParagraph(); + + IWPicture picture = paragraph.AppendSignatureLine( + new SignatureLineSettings() + { + Signer = signers[i], + SignerTitle = "Approver", + Email = signers[i] + "@example.com", + Instructions = "Please review and sign.", + ShowDate = true + }, + 192, + 96); + + // Gets the unique identifier of the inserted signature line. + Guid signatureLineId = ((WPicture)picture).SignatureLine.Id; + + // Maps the signature line to its corresponding signature image. + signatureInfo.Add(signatureLineId, images[i]); + } + + // Saves the document after adding the signature lines. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + } + + // Loads the signing certificate. + OfficeDigitalSignatureCertificate certificate = + new OfficeDigitalSignatureCertificate( + Path.GetFullPath(@"Data\certificate.pfx"), + "password123"); + + // Opens the saved document to sign each signature line. + using (WordDocument document = new WordDocument(Path.GetFullPath(@"Output\Result.docx"))) + { + // Signs each signature line using its corresponding signature image. + foreach (KeyValuePair item in signatureInfo) + { + SignatureSettings settings = new SignatureSettings() + { + SignatureLineId = item.Key, + SignatureLineImage = File.ReadAllBytes(item.Value), + Comments = "Approved", + SignTime = DateTime.Now + }; + + document.AddDigitalSignature(certificate, settings); + } + + // Saves the signed document. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + } + } + } +} + diff --git a/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj new file mode 100644 index 000000000..4db0f70b5 --- /dev/null +++ b/Digital-Signature/Sign-multiple-signature-lines/.NET/Sign-multiple-signature-lines/Sign-multiple-signature-lines.csproj @@ -0,0 +1,35 @@ + + + + Exe + net10.0 + Sign_multiple_signature_lines + enable + enable + + + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx new file mode 100644 index 000000000..8c32663f7 --- /dev/null +++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png new file mode 100644 index 000000000..8ea167e84 Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Signature.png differ diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx new file mode 100644 index 000000000..36363223e Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/Template.docx differ diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx new file mode 100644 index 000000000..940afae4f Binary files /dev/null and b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Data/certificate.pfx differ diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs new file mode 100644 index 000000000..7a9da545e --- /dev/null +++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Program.cs @@ -0,0 +1,67 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Sign_signature_line +{ + class Program + { + static void Main(string[] args) + { + //Opens an existing Word document with signature line. + using (WordDocument document = + new WordDocument( + Path.GetFullPath(@"Data\Template.docx"))) + { + WPicture picture = null; + OfficeSignatureLine signatureLine = null; + + //Finds the signature line in the document. + foreach (WSection section in document.Sections) + { + foreach (WParagraph paragraph in section.Paragraphs) + { + foreach (Entity entity in paragraph.ChildEntities) + { + if (entity is WPicture currentPicture && currentPicture.IsSignatureLine) + { + picture = currentPicture; + signatureLine = picture.SignatureLine; + break; + } + } + + if (picture != null) + break; + } + + if (picture != null) + break; + } + + //Loads the signing certificate. + OfficeDigitalSignatureCertificate certificate = + new OfficeDigitalSignatureCertificate( + Path.GetFullPath(@"Data\certificate.pfx"), + "password123"); + + //Signs the signature line with the image. + SignatureSettings settings = new SignatureSettings + { + SignatureLineId = signatureLine.Id, + SignTime = DateTime.Now, + SignatureLineImage = File.ReadAllBytes(Path.GetFullPath(@"Data\Signature.png")), + Comments = "Approved" + }; + + if (File.Exists(Path.GetFullPath(@"Data\Signature.png"))) + settings.SignatureLineImage = File.ReadAllBytes(Path.GetFullPath(@"Data\Signature.png")); + + document.AddDigitalSignature(certificate, settings); + //Saves the signed document. + document.Save(Path.GetFullPath(@"Output\Result.docx"), FormatType.Docx); + } + + } + } +} diff --git a/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj new file mode 100644 index 000000000..b66cf7c20 --- /dev/null +++ b/Digital-Signature/Sign-signature-line/.NET/Sign-signature-line/Sign-signature-line.csproj @@ -0,0 +1,30 @@ + + + + Exe + net10.0 + Sign_signature_line + enable + enable + + + + + + + + + Always + + + Always + + + Always + + + Always + + + + diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx new file mode 100644 index 000000000..53a428679 --- /dev/null +++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature.slnx @@ -0,0 +1,3 @@ + + + diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx new file mode 100644 index 000000000..499c81695 Binary files /dev/null and b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Data/SignedDocument.docx differ diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs new file mode 100644 index 000000000..7ac33eb73 --- /dev/null +++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Program.cs @@ -0,0 +1,31 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using Syncfusion.Office; + +namespace Validate_digital_signature +{ + class Program + { + static void Main(string[] args) + { + //Opens the signed Word document. + WordDocument document = new WordDocument(Path.GetFullPath(@"Data\SignedDocument.docx")); + //Gets the digital signature collection in the document. + OfficeDigitalSignatureCollection signatures = document.DigitalSignatures; + //Checks whether every digital signature in the collection is valid. + bool allValid = signatures.IsValid; + Console.WriteLine("All signatures are valid : " + allValid); + //Iterates through each signature and checks whether it is valid. + foreach (OfficeDigitalSignature signature in signatures) + { + //Checks whether the signature is valid. + bool isValid = signature.IsValid; + Console.WriteLine("Signature is valid : " + isValid); + } + //Closes the document + document.Close(); + + } + } +} + diff --git a/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj new file mode 100644 index 000000000..bf194b5ad --- /dev/null +++ b/Digital-Signature/Validate-digital-signature/.NET/Validate-digital-signature/Validate-digital-signature.csproj @@ -0,0 +1,21 @@ + + + + Exe + net10.0 + Validate_digital_signature + enable + enable + + + + + + + + + Always + + + +