přidat digitální podpis do PDF C#

V této příručce vám ukážeme, jak přidat digitální podpis do souboru PDF v C#, včetně potřebného kódu a kroků, jak začít. Ať už jste vývojář nebo uživatel, tato příručka vám poskytne informace, které potřebujete k přidání digitálního podpisu do dokumentu PDF v C#. Také si ukážeme, jak ověřit digitálně podepsaný soubor PDF programově v C#.

Knihovna C# pro digitální podpisy ve formátu PDF

K přidávání a ověřování digitálních podpisů v PDF použijeme Aspose.PDF for .NET. Je to výkonná knihovna pro manipulaci s PDF pro vytváření, úpravy, převod a digitální podepisování dokumentů PDF. Nejen to, můžete získat bezplatnou licenci k podepisování souborů PDF bez jakýchkoli omezení.

Můžete stáhnout Aspose.PDF for .NET nebo jej nainstalovat pomocí NuGet.

PM> Install-Package Aspose.PDF

Jak přidat digitální podpis do PDF v C#

Níže jsou uvedeny kroky pro přidání digitálního podpisu do PDF v C#.

C# kód pro přidání digitálního podpisu do PDF

Následující ukázka kódu ukazuje, jak přidat digitální podpis do PDF v C#.

// Načíst dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
		DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
		System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
		// Nastavení vzhledu podpisu
		signature.SignatureAppearance = @"aspose-logo.png";
		// Vytvořte libovolný ze tří typů podpisu
		signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
		// Uložte digitálně podepsaný soubor PDF
		signature.Save("Digitally Signed PDF.pdf");
	}
}

C# digitálně podepisujte PDF pomocí serveru Timestamp Server

K dokumentu PDF můžete také přidat digitální podpis pomocí serveru TimeStamp poskytnutím jeho podrobností pomocí třídy TimestampSettings.

Následující ukázka kódu ukazuje, jak digitálně podepsat dokument PDF pomocí serveru TimeStamp v C#.

// Načíst dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
		TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
		pkcs.TimestampSettings = timestampSettings;
		System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
		// Vytvořte libovolný ze tří typů podpisu
		signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
		// Uložit výstupní soubor PDF
		signature.Save("Output.pdf");
	}
}

Ověřte digitálně podepsané PDF v C#

Níže jsou uvedeny kroky k ověření digitálního podpisu v dokumentu PDF:

  • Vytvořte objekt třídy Document a inicializujte jej s cestou k dokumentu PDF.
  • Vytvořte objekt třídy PdfFileSignature a inicializujte jej objektem třídy Document.
  • Získejte přístup ke všem podpisům dokumentu PDF.
  • Ověřte platnost podpisu pomocí metody PdfFileSignature.VerifySigned().

Následující ukázka kódu ukazuje, jak ověřit digitální podpis v PDF pomocí C#.

// Načíst dokument PDF
using (Document pdfDocument = new Document("Document.pdf"))
{
	using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
	{
		IList<string> sigNames = signature.GetSignNames();
		if (sigNames.Count > 0) // Any signatures?
		{
			if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
			{
				if (signature.IsCertified) // Certified?
				{
					if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
					{
						// Dělej něco
					}
				}
			}
		}
	}
}

Bezplatná knihovna digitálních podpisů PDF

Můžete získat bezplatnou dočasnou licenci a přidávat digitální podpisy do souborů PDF bez jakýchkoli omezení.

Závěr

V tomto článku jste se naučili přidávat digitální podpisy do souborů PDF v C#.NET. Dále jste viděli, jak ověřit digitálně podepsané soubory PDF programově v C#. Aspose.PDF for .NET můžete jednoduše nainstalovat do svých aplikací a bez problémů digitálně podepsat své soubory PDF.

Související články