Masuk Secara Digital ke File PDF

Dalam tutorial ini, kami akan memandu Anda melalui proses penandatanganan digital pada berkas PDF menggunakan Aspose.PDF untuk .NET. Tanda tangan digital menjamin keaslian dan integritas dokumen, dengan menambahkan sidik jari elektronik yang unik.

Langkah 1: Prasyarat

Sebelum memulai, pastikan Anda memiliki prasyarat berikut:

  • Pengetahuan dasar tentang bahasa pemrograman C#
  • Menginstal Visual Studio di komputer Anda
  • Pustaka Aspose.PDF untuk .NET terinstal

Langkah 2: Pengaturan lingkungan

Untuk memulai, ikuti langkah-langkah berikut untuk menyiapkan lingkungan pengembangan Anda:

  1. Buka Visual Studio dan buat proyek C# baru.
  2. Impor namespace yang diperlukan ke dalam berkas kode Anda:
using Aspose.Pdf;
using Aspose.Pdf.Forms;
using System.Collections.Generic;

Langkah 3: Tanda tangan digital

Langkah pertama adalah menandatangani berkas PDF secara digital. Kode yang diberikan menunjukkan cara membuat tanda tangan digital dengan Aspose.PDF untuk .NET.

string dataDir = "YOUR DOCUMENTS DIRECTORY";
string pbxFile = "";
string inFile = dataDir + @"DigitallySign.pdf";
string outFile = dataDir + @"DigitallySign_out.pdf";
using (Document document = new Document(inFile))
{
     using (PdfFileSignature signature = new PdfFileSignature(document))
     {
         PKCS7 pkcs = new PKCS7(pbxFile, "WebSales");
         DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
         System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
         signature.SignatureAppearance = dataDir + @"aspose-logo.jpg";
         signature.Certify(1, "Reason for signing", "Contact", "Location", true, rect, docMdpSignature);
         signature.Save(outFile);
     }
}

Kode ini memuat berkas PDF, membuat tanda tangan digital dengan tampilan tertentu, lalu menyimpan berkas PDF dengan tanda tangan tambahan.

Langkah 4: Verifikasi Tanda Tangan

Setelah menambahkan tanda tangan digital, Anda dapat memeriksa apakah berkas PDF berisi tanda tangan yang valid.

using(Document document = new Document(outFile))
{
     using (PdfFileSignature signature = new PdfFileSignature(document))
     {
         IList<string> sigNames = signature. GetSignNames();
         if (sigNames.Count > 0)
         {
             if (signature.VerifySigned(sigNames[0] as string))
             {
                 if (signature.IsCertified)
                 {
                     if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms)
                     {
                         // Lakukan sesuatu
                     }
                 }
             }
         }
     }
}

Kode ini memverifikasi tanda tangan pertama berkas PDF dan melakukan tindakan tambahan jika tanda tangan tersebut disertifikasi dan memiliki izin khusus.

Contoh kode sumber untuk Tanda Tangan Digital menggunakan Aspose.PDF untuk .NET

try
{
	// Jalur ke direktori dokumen.
	string dataDir = "YOUR DOCUMENTS DIRECTORY";
	string pbxFile = "";
	string inFile = dataDir + @"DigitallySign.pdf";
	string outFile = dataDir + @"DigitallySign_out.pdf";
	using (Document document = new Document(inFile))
	{
		using (PdfFileSignature signature = new PdfFileSignature(document))
		{
			PKCS7 pkcs = new PKCS7(pbxFile, "WebSales"); // Gunakan objek PKCS7/PKCS7Detached
			DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
			System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
			// Mengatur tampilan tanda tangan
			signature.SignatureAppearance = dataDir + @"aspose-logo.jpg";
			// Buat salah satu dari tiga jenis tanda tangan
			signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
			// Simpan file PDF keluaran
			signature.Save(outFile);
		}
	}
	using (Document document = new Document(outFile))
	{
		using (PdfFileSignature signature = new PdfFileSignature(document))
		{
			IList<string> sigNames = signature.GetSignNames();
			if (sigNames.Count > 0) // Ada tanda tangan?
			{
				if (signature.VerifySigned(sigNames[0] as string)) // Verifikasi dulu
				{
					if (signature.IsCertified) // Tersertifikasi?
					{
						if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Dapatkan izin akses
						{
							// Lakukan sesuatu
						}
					}
				}
			}
		}
	}
}
catch (Exception ex)
{
	Console.WriteLine(ex.Message);
}

Kesimpulan

Selamat! Anda telah berhasil melakukan tanda tangan digital pada berkas PDF menggunakan Aspose.PDF untuk .NET. Tutorial ini membahas proses langkah demi langkah, mulai dari menambahkan tanda tangan digital hingga memverifikasi keabsahannya. Kini Anda dapat menggunakan fitur ini untuk mengamankan berkas PDF Anda dengan tanda tangan digital.

Pertanyaan yang Sering Diajukan

T: Apa tujuan dari tutorial ini?

J: Tutorial ini memandu Anda melalui proses penandatanganan digital berkas PDF menggunakan Aspose.PDF for .NET. Tanda tangan digital menambahkan sidik jari elektronik untuk memastikan keaslian dan integritas dokumen.

T: Prasyarat apa yang diperlukan sebelum memulai?

A: Sebelum memulai, pastikan Anda memiliki pemahaman dasar tentang bahasa pemrograman C#, telah menginstal Visual Studio, dan telah menginstal pustaka Aspose.PDF untuk .NET.

T: Bagaimana cara menyiapkan lingkungan pengembangan?

A: Ikuti langkah-langkah yang disediakan untuk menyiapkan lingkungan pengembangan Anda, termasuk membuat proyek C# baru di Visual Studio, dan mengimpor namespace yang diperlukan.

T: Bagaimana cara menambahkan tanda tangan digital ke berkas PDF?

A: Contoh kode yang diberikan menunjukkan cara memuat file PDF, membuat tanda tangan digital, menentukan tampilan, dan menyimpan file PDF yang telah ditandatangani. Tanda tangan digital ditambahkan menggunakanCertify metode dariPdfFileSignature obyek.

T: Bagaimana cara memverifikasi keabsahan tanda tangan digital?

A: Setelah menambahkan tanda tangan digital, Anda dapat menggunakan kode contoh untuk memverifikasi keabsahan tanda tangan. Kode ini memeriksa apakah tanda tangan tersebut tersertifikasi dan memiliki izin akses tertentu.

T: Apa yang dimaksud denganPKCS7 object represent?

Sebuah:PKCS7 Objek digunakan untuk menyediakan fungsionalitas kriptografi untuk tanda tangan digital. Objek ini digunakan untuk membuat tanda tangan digital dalam kode contoh yang disediakan.

T: Dapatkah saya menyesuaikan tampilan tanda tangan digital?

A: Ya, Anda dapat menyesuaikan tampilan tanda tangan digital dengan menentukan jalur ke gambar diSignatureAppearance milikPdfFileSignature obyek.

T: Apa yang terjadi jika tanda tangan tidak valid?

A: Jika tanda tangan tidak valid, proses verifikasi akan gagal, dan tindakan terkait dalam blok kode verifikasi tidak akan dijalankan.

T: Bagaimana saya dapat memastikan keamanan tanda tangan digital saya?

J: Tanda tangan digital dirancang aman dan menggunakan teknik kriptografi untuk memastikan keaslian dan integritas. Pastikan Anda menjaga kunci pribadi Anda tetap aman dan ikuti praktik terbaik untuk menangani tanda tangan digital.

T: Dapatkah saya menambahkan beberapa tanda tangan digital ke PDF?

A: Ya, Anda dapat menambahkan beberapa tanda tangan digital ke file PDF menggunakanPdfFileSignature objekSign atauCertify metode. Setiap tanda tangan akan memiliki tampilan dan konfigurasinya sendiri.