Dijital Olarak Oturum Açma PDF Dosyası

Bu eğitimde, Aspose.PDF for .NET’i kullanarak PDF dosyasını dijital olarak imzalama sürecinde size yol göstereceğiz. Dijital imza, benzersiz bir elektronik parmak izi ekleyerek belgenin gerçekliğini ve bütünlüğünü garanti eder.

1. Adım: Önkoşullar

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

  • C# programlama dili hakkında temel bilgi
  • Visual Studio’yu makinenize yükleme
  • .NET için Aspose.PDF kütüphanesi kuruldu

2. Adım: Ortam kurulumu

Başlamak için geliştirme ortamınızı ayarlamak üzere şu adımları izleyin:

  1. Visual Studio’yu açın ve yeni bir C# projesi oluşturun.
  2. Gerekli ad alanlarını kod dosyanıza aktarın:
using Aspose.Pdf;
using Aspose.Pdf.Forms;
using System.Collections.Generic;

3. Adım: Dijital imza

İlk adım PDF dosyasını dijital olarak imzalamaktır. Sağlanan kod Aspose.PDF for .NET ile nasıl dijital imza oluşturulacağını gösterir.

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);
     }
}

Bu kod bir PDF dosyası yükler, belirtilen görünüme sahip bir dijital imza oluşturur ve ardından PDF dosyasını eklenen imzayla birlikte kaydeder.

Adım 4: İmza Doğrulaması

Dijital imzayı ekledikten sonra PDF dosyasının geçerli bir imza içerip içermediğini kontrol edebilirsiniz.

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)
                     {
                         // Bir şey yap
                     }
                 }
             }
         }
     }
}

Bu kod, PDF dosyasının ilk imzasını doğrular ve imzanın sertifikalı olması ve belirli izinlere sahip olması durumunda ek eylemler gerçekleştirir.

Aspose.PDF for .NET kullanarak Digitally Sign için örnek kaynak kodu

try
{
	// Belgeler dizininin yolu.
	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"); // PKCS7/PKCS7Ayrılmış nesneleri kullanma
			DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
			System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
			// İmza görünümünü ayarla
			signature.SignatureAppearance = dataDir + @"aspose-logo.jpg";
			// Üç imza türünden herhangi birini oluşturun
			signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
			// Çıktı PDF dosyasını kaydet
			signature.Save(outFile);
		}
	}
	using (Document document = new Document(outFile))
	{
		using (PdfFileSignature signature = new PdfFileSignature(document))
		{
			IList<string> sigNames = signature.GetSignNames();
			if (sigNames.Count > 0) // İmza var mı?
			{
				if (signature.VerifySigned(sigNames[0] as string)) // İlkini doğrulayın
				{
					if (signature.IsCertified) // Sertifikalı mı?
					{
						if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Erişim izni alın
						{
							// Bir şey yap
						}
					}
				}
			}
		}
	}
}
catch (Exception ex)
{
	Console.WriteLine(ex.Message);
}

Çözüm

Tebrikler! Aspose.PDF for .NET’i kullanarak bir PDF dosyasında başarıyla dijital imza gerçekleştirdiniz. Bu eğitim, dijital imzanın eklenmesinden geçerliliğinin doğrulanmasına kadar adım adım süreci kapsıyordu. Artık PDF dosyalarınızı dijital imzalarla güvence altına almak için bu özelliği kullanabilirsiniz.

SSS’ler

S: Bu eğitimin amacı nedir?

C: Bu eğitim, Aspose.PDF for .NET kullanarak bir PDF dosyasını dijital olarak imzalama sürecinde size yol gösterir. Dijital imzalar, belgenin orijinalliğini ve bütünlüğünü sağlamak için elektronik parmak izi ekler.

S: Başlamadan önce hangi önkoşullar gereklidir?

C: Başlamadan önce, C# programlama dilini temel düzeyde anladığınızdan, Visual Studio’nun kurulu olduğundan ve Aspose.PDF kütüphanesinin .NET’in kurulu olduğundan emin olun.

S: Geliştirme ortamını nasıl kurarım?

C: Visual Studio’da yeni bir C# projesi oluşturma ve gerekli ad alanlarını içe aktarma da dahil olmak üzere geliştirme ortamınızı kurmak için sağlanan adımları izleyin.

S: Bir PDF dosyasına nasıl dijital imza eklerim?

C: Sağlanan örnek kod, bir PDF dosyasının nasıl yükleneceğini, dijital imzanın nasıl oluşturulacağını, görünümün nasıl belirleneceğini ve imzalı PDF dosyasının nasıl kaydedileceğini gösterir. Dijital imza aşağıdakiler kullanılarak eklenir:Certify yöntemiPdfFileSignature nesne.

S: Dijital imzanın geçerliliğini nasıl doğrularım?

C: Dijital imzayı ekledikten sonra imzanın geçerliliğini doğrulamak için örnek kodu kullanabilirsiniz. İmzanın sertifikalı olup olmadığını ve belirli erişim izinlerine sahip olup olmadığını kontrol eder.

S: Ne işe yarar?PKCS7 object represent?

C:PKCS7 nesne, dijital imzalar için şifreleme işlevselliği sağlamak amacıyla kullanılır. Verilen örnek kodda dijital imza oluşturmak için kullanılır.

S: Dijital imzanın görünümünü özelleştirebilir miyim?

C: Evet, bir görüntünün yolunu belirterek dijital imzanın görünümünü özelleştirebilirsiniz.SignatureAppearance mülkiyetiPdfFileSignature nesne.

Soru: İmza geçerli değilse ne olur?

C: İmza geçerli değilse doğrulama işlemi başarısız olur ve doğrulama kodu bloğundaki ilgili eylemler yürütülmez.

S: Dijital imzalarımın güvenliğini nasıl sağlayabilirim?

C: Dijital imzalar tasarım gereği güvenlidir ve özgünlüğü ve bütünlüğü sağlamak için şifreleme teknikleri kullanır. Özel anahtarınızı güvende tuttuğunuzdan ve dijital imzaların kullanımına ilişkin en iyi uygulamaları takip ettiğinizden emin olun.

S: Bir PDF’ye birden fazla dijital imza ekleyebilir miyim?

C: Evet, PDF dosyasına birden fazla dijital imza ekleyebilirsiniz.PdfFileSignature nesneninSign veyaCertify yöntemler. Her imzanın kendi görünümü ve konfigürasyonu olacaktır.