Tanda Tangan Digital dalam PDF memungkinkan Anda mengamankan dokumen sebelum dibagikan dengan pemangku kepentingan. Menempa konten dokumen PDF yang ditandatangani secara digital dapat dengan mudah dideteksi dan diverifikasi. Untuk menandatangani dokumen PDF secara terprogram, saya akan menunjukkan cara menambahkan dan memverifikasi tanda tangan digital di PDF menggunakan Java. Kami akan membahas skenario berikut yang terkait dengan tanda tangan digital dalam PDF.
- Perpustakaan Java untuk Menandatangani PDF Secara Digital
- Tambahkan Tanda Tangan Digital ke PDF menggunakan Java
- Menandatangani PDF secara Digital dengan Server Timestamp menggunakan Java
- Verifikasi Tanda Tangan Digital dalam PDF menggunakan Java
Perpustakaan Java untuk Menandatangani PDF Secara Digital
Untuk menambahkan dan memverifikasi tanda tangan digital dalam PDF, kami akan menggunakan Aspose.PDF for Java. Seiring dengan fitur manipulasi PDF lainnya, Aspose.PDF for Java memungkinkan Anda menambahkan dan memverifikasi tanda tangan digital dalam PDF dengan mulus. Anda dapat mengunduh JAR API atau menginstalnya di aplikasi berbasis Maven Anda.
Gudang:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Ketergantungan:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.6</version>
</dependency>
Tambahkan Tanda Tangan Digital ke PDF menggunakan Java
Berikut langkah-langkah menambahkan tanda tangan digital pada dokumen PDF menggunakan Aspose.PDF for Java.
- Buat instance dari kelas Document dan inisialisasi dengan jalur dokumen PDF.
- Inisialisasi kelas PdfFileSignature dan teruskan ke objek Document.
- Buat instance kelas PKCS7 dan inisialisasi dengan jalur sertifikat dan kata sandi.
- Inisialisasi kelas DocMDPSignature untuk tipe tanda tangan MDP.
- Tentukan Persegi Panjang untuk menempatkan tanda tangan di halaman dokumen.
- Menandatangani dokumen PDF secara digital menggunakan metode PdfFileSignature.Certify().
- Simpan PDF yang ditandatangani menggunakan metode PdfFileSignature.Save().
Contoh kode berikut menunjukkan cara menandatangani PDF secara digital menggunakan Java.
// Buat objek Document
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);
// Atur tampilan tanda tangan
signature.setSignatureAppearance("aspose-logo.png");
// Buat salah satu dari tiga jenis tanda tangan
signature.certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// Simpan file PDF yang ditandatangani secara digital
signature.save("Digitally Signed PDF.pdf");
Menandatangani PDF secara Digital dengan Server Timestamp menggunakan Java
Aspose.PDF for Java juga memungkinkan Anda menambahkan tanda tangan digital ke PDF dengan server TimeStamp. Kelas TimestampSettings digunakan untuk tujuan ini. Contoh kode berikut menunjukkan cara menambahkan tanda tangan digital ke PDF dengan server TimeStamp menggunakan Java.
// Buat objek Document
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);
// Atur tampilan tanda tangan
signature.setSignatureAppearance("aspose-logo.png");
// Buat salah satu dari tiga jenis tanda tangan
signature.sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// Simpan file PDF yang ditandatangani secara digital
signature.save("Digitally Signed PDF.pdf");
Verifikasi Tanda Tangan Digital dalam PDF menggunakan Java
Saat Anda menerima PDF yang ditandatangani secara digital, Anda dapat memverifikasi tanda tangannya dengan mudah. Berikut ini adalah langkah-langkah untuk memverifikasi PDF yang ditandatangani secara digital.
- Buat instance dari kelas PdfFileSignature.
- Ikat file PDF menggunakan metode PdfFileSigntature.bindPdf(string).
- Verifikasi validitas tanda tangan menggunakan metode PdfFileSignature.verifySigned().
Contoh kode berikut menunjukkan cara memverifikasi dokumen PDF yang ditandatangani secara digital menggunakan Java.
// Buat Tanda Tangan File PDF
PdfFileSignature pdfSign = new PdfFileSignature();
// Ikat PDF
pdfSign.bindPdf("Digitally Signed PDF.pdf");
// Verifikasi tanda tangan menggunakan nama tanda tangan
if (pdfSign.verifySigned("Signature1"))
{
if (pdfSign.isCertified()) // Certified?
{
if (pdfSign.getAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
{
// Lakukan sesuatu
}
}
}
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara menambahkan tanda tangan digital ke PDF menggunakan Java. Selain itu, kami telah melihat cara memverifikasi file PDF yang ditandatangani secara digital dalam beberapa langkah. Anda dapat mempelajari lebih lanjut tentang Java PDF API menggunakan dokumentasi serta contoh kode sumber yang dihosting di GitHub.