přidat digitální podpis do PDF Java

Digitální podpis ve formátu PDF vám umožňuje zabezpečit dokument před jeho sdílením se zúčastněnými stranami. Padělání v obsahu digitálně podepsaného dokumentu PDF lze snadno odhalit a ověřit. Chcete-li digitálně podepsat dokumenty PDF programově, ukážeme vám, jak přidat digitální podpisy do PDF pomocí Java. Také se dozvíte, jak programově ověřit digitálně podepsaný PDF.

Probereme následující scénáře související s digitálními podpisy v souborech PDF.

Knihovna Java pro digitální podepisování PDF

Pro přidávání a ověřování digitálních podpisů v PDF budeme používat Aspose.PDF for Java. Spolu s dalšími funkcemi pro manipulaci s PDF vám Aspose.PDF for Java umožňuje bezproblémově přidávat a ověřovat digitální podpisy v PDF. JAR API si můžete stáhnout nebo si jej nainstalovat do své aplikace založené na Mavenu.

úložiště:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Závislost:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.12</version>
</dependency>

Přidejte digitální podpis do PDF v Javě

Následují kroky pro přidání digitálního podpisu do PDF v Javě.

Následující ukázka kódu ukazuje, jak digitálně podepsat PDF pomocí Java.

// Vytvořte objekt dokumentu
Document doc = new Document("input.pdf");
PdfFileSignature signature = new PdfFileSignature(doc);
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
Rectangle rect = new Rectangle(100, 600, 400, 100);
// Nastavení vzhledu podpisu
signature.setSignatureAppearance("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");

Java: Digitálně podepisujte PDF pomocí serveru časových razítek

Aspose.PDF for Java vám také umožňuje přidávat digitální podpisy do PDF pomocí serveru TimeStamp. K tomuto účelu slouží třída TimestampSettings. Následující ukázka kódu ukazuje, jak přidat digitální podpis do PDF pomocí serveru TimeStamp pomocí Java.

// Vytvořte objekt dokumentu
Document doc = new Document("input.pdf");
PdfFileSignature signature = new PdfFileSignature(doc);
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.setTimestampSettings(timestampSettings); 
Rectangle rect = new Rectangle(100, 600, 400, 100);
// Nastavení vzhledu podpisu
signature.setSignatureAppearance("aspose-logo.png"); 
// Vytvořte libovolný ze tří typů podpisu
signature.sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// Uložte digitálně podepsaný soubor PDF
signature.save("Digitally Signed PDF.pdf");

Ověřte digitální podpis v PDF pomocí Java

Když obdržíte digitálně podepsaný PDF, můžete jeho podpis ověřit poměrně snadno. Níže jsou uvedeny kroky k ověření digitálně podepsaného PDF.

Následující ukázka kódu ukazuje, jak ověřit digitálně podepsaný dokument PDF pomocí jazyka Java.

// Vytvořte podpis souboru PDF
PdfFileSignature pdfSign = new PdfFileSignature();
// Svázat PDF
pdfSign.bindPdf("Digitally Signed PDF.pdf");
// Ověřte podpis pomocí názvu podpisu
if (pdfSign.verifySigned("Signature1"))
{
	if (pdfSign.isCertified()) // Certified?
	{
		if (pdfSign.getAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
		{
			// Dělej něco
		}
	} 
}

Bezplatná Java knihovna pro digitální podpisy ve formátu PDF

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

Prozkoumejte Java PDF Library

Více o Java PDF API se můžete dozvědět pomocí dokumentace a také pomocí ukázek zdrojového kódu hostovaných na GitHub.

Závěr

V tomto článku jste se naučili, jak přidat digitální podpis do PDF pomocí Java. Kromě toho jsme viděli, jak ověřit digitálně podepsaný soubor PDF v několika krocích. Knihovnu můžete snadno nainstalovat a použít poskytnuté ukázky kódu ve vaší aplikaci.

Viz také