PDF digital signature and timestamp are the best ways to protect your PDF files from being forged. Syncfusion Essential PDF is a Blazor PDF library that helps you add digital signature and time stamp to your PDF files in any Blazor application. Syncfusion provides many ways to digitally sign a document: X509 certificates, such as .pfx files with private keys and also supports hardware security modules (HSM), Online Certificate Status Protocol (OCSP), certificate revocation lists (CRL), and Windows Certificate Store for authenticity and integrity.
The Syncfusion Blazor PDF library provides a completely customizable appearance for its e-signature. The content of the signature can be images, texts, graphics, and shapes.
LTV signatures allow you to check the validity of a signature long after signing the document. All the required elements for signature validation must be embedded in the signed PDF to use LTV.
It is possible to include the date and time of your signing the PDF as part of your certificate-based digital signature. A timestamp helps you establish when you signed the PDF and reduces the chance of an invalid signatures. Syncfusion Essential PDF makes time-stamping a PDF document possible with only a few lines of code.
You can also get or retrieve the digitally signed certificate details like subject, author, and expiry date. Based on the expiry date, you can digitally sign the PDF with valid certificate again.
Easily add the digital signature to a PDF document using a few simple lines of C# code as demonstrated below. Also explore our Blazor PDF Example that shows how to create and modify PDF files from C# with 5 lines of code on different platforms.
using Syncfusion.Pdf;
//Creates a new PDF document
PdfDocument document = new PdfDocument();
//Adds a new page
PdfPageBase page = document.Pages.Add();
PdfGraphics graphics = page.Graphics;
//Read the PFX file
FileStream pfxFile = new FileStream(ResolveApplicationPath("pdf.pfx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
//Creates a certificate instance from PFX file with private key
PdfCertificate pdfCert = new PdfCertificate(pfxFile, "syncfusion");
//Creates a digital signature
PdfSignature signature = new PdfSignature(document, page, pdfCert, "Signature");
//Read the image file
FileStream jpgFile = new FileStream(ResolveApplicationImagePath("logo.png"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
//Sets an image for signature field
PdfBitmap signatureImage = new PdfBitmap(jpgFile);
//Sets signature information
signature.Bounds = new RectangleF(new PointF(0, 0), signatureImage.PhysicalDimension);
signature.ContactInfo = "johndoe@owned.us";
signature.LocationInfo = "Honolulu, Hawaii";
signature.Reason = "I am author of this document.";
//Draws the signature image
graphics.DrawImage(signatureImage, 0, 0);
//Saves and closes the document
MemoryStream stream = new MemoryStream();
document.Save(stream);
document.Close(true);
Imports Syncfusion.Pdf
'Creates a new PDF document
Dim document As New PdfDocument()
'Adds a new page
Dim page As PdfPageBase = document.Pages.Add()
Dim graphics As PdfGraphics = page.Graphics
'Read the PFX file
Dim pfxFile As FileStream = New FileStream(ResolveApplicationPath("pdf.pfx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
'Creates a certificate instance from PFX file with private key
Dim pdfCert As New PdfCertificate(pfxFile, "syncfusion")
'Creates a digital signature
Dim signature As New PdfSignature(document, page, pdfCert, "Signature")
'Read the image file
Dim jpgFile As FileStream = New FileStream(ResolveApplicationImagePath("logo.png"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
'Sets an image for signature field
Dim signatureImage As New PdfBitmap(jpgFile)
'Sets signature info
signature.Bounds = New RectangleF(New PointF(0, 0), signatureImage.PhysicalDimension)
signature.ContactInfo = "johndoe@owned.us"
signature.LocationInfo = "Honolulu, Hawaii"
signature.Reason = "I am author of this document."
'Draws the signature image
graphics.DrawImage(signatureImage, 0, 0)
'Saves and closes the document
Dim stream As MemoryStream = New MemoryStream()
document.Save(stream)
document.Close(True)
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.