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í podepisování PDF
- Přidejte digitální podpisy do dokumentů PDF pomocí C#
- Digitálně podepisujte dokumenty PDF pomocí serveru Timestamp v C#
- Ověřte digitální podpis v PDF pomocí 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#.
- 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.
- Vytvořte objekt třídy PKCS7 a inicializujte jej pomocí cesty certifikátu a hesla.
- Vytvořte a inicializujte objekt třídy DocMDPSignature pro typ podpisu MDP.
- Vytvořte Obdélník pro umístění podpisu.
- Digitálně podepište dokument PDF pomocí metody PdfFileSignature.Certify().
- Uložte dokument pomocí metody PdfFileSignature.Save().
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.