Hi,
Is it possible to add a signature to a PDF file using a Cloud based HSM provider like Google, AWS or Azure?
Thanks, Andy
using PDFTest.Security.DigitalSignature;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Security;
using System.Drawing;
using System.Security.Cryptography.X509Certificates;
namespace TestPdfHsm32292
{
internal class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"test.pdf");
X509Certificate2 cert = new X509Certificate2(@"gary.pfx", "e-iceblue");
//create CustomPKCS7SignatureFormatter
CustomPKCS7SignatureFormatter customPKCS7SignatureFormatter = new CustomPKCS7SignatureFormatter(cert);
PdfSignature signature = new PdfSignature(doc, doc.Pages[0], customPKCS7SignatureFormatter, "signature0");
signature.Bounds = new RectangleF(new PointF(90, 550), new SizeF(270, 90));
signature.GraphicsMode = GraphicMode.SignDetail;
signature.NameLabel = "Signer:";
signature.Name = "Test";
signature.Reason = "The certificate of this document";
signature.DistinguishedNameLabel = "DN: ";
signature.DocumentPermissions = PdfCertificationFlags.AllowFormFill | PdfCertificationFlags.ForbidChanges;
signature.SignDetailsFont = new PdfFont(PdfFontFamily.TimesRoman, 10f);
signature.SignNameFont = new PdfFont(PdfFontFamily.Courier, 15);
signature.SignImageLayout = SignImageLayout.None;
//Save pdf file.
doc.SaveToFile(@"output.pdf", Spire.Pdf.FileFormat.PDF);
}
}
}