Dijital İmzalar, üçüncü taraflarla paylaşılmadan önce PDF belgelerini güvenceye almak için kullanılır. Bir PDF belgesini dijital olarak imzalamak, dijital imzayı kullanarak belgeyi doğrulayarak kurcalamayı algılamayı mümkün kılar. Dijital imzaları kullanarak PDF belgelerini programlı olarak güvenceye almak için, bu makale size C# dilinde bir PDF dosyasına nasıl dijital imza ekleyeceğinizi gösterecektir. Ayrıca C# dilinde PDF dosyalarındaki dijital imzaları nasıl doğrulayacağınızı da öğreneceksiniz.
- PDF’yi Dijital Olarak İmzalamak için C# API
- C# kullanarak PDF belgelerine dijital imzalar ekleyin
- C# dilinde bir Zaman Damgası sunucusuyla PDF belgelerini dijital olarak imzalayın
- C# kullanarak PDF’de dijital imzayı doğrulayın
PDF’ye Dijital İmzalar Eklemek için C# .NET API
PDF belgelerine dijital imza eklemek ve doğrulamak için, PDF belgelerini oluşturmak, düzenlemek, dönüştürmek ve dijital olarak imzalamak için güçlü bir PDF işleme API’si olan Aspose.PDF for .NET API’sini kullanacağız. Aspose.PDF for .NET’i indirebilir veya Visual Studio’da aşağıdaki yollardan birini kullanarak yükleyebilirsiniz:
NuGet Paket Yöneticisi
Paket Yöneticisi Konsolu
PM> Install-Package Aspose.PDF
C# ile PDF’ye Dijital İmza Ekleme
Aspose.PDF for .NET kullanarak bir PDF belgesini imzalamak için izlenecek adımlar aşağıdadır.
- Document sınıfından bir nesne oluşturun ve onu PDF belgesinin yolu ile başlatın.
- PdfFileSignature sınıfından bir nesne oluşturun ve onu Document sınıfının nesnesiyle başlatın.
- PKCS7 sınıfından bir nesne oluşturun ve bunu bir sertifika yolu ve parola ile başlatın.
- MDP imza türü için DocMDPSignature sınıfının nesnesini oluşturun ve başlatın.
- İmza yerleşimi için bir Dikdörtgen oluşturun.
- PdfFileSignature.Certify() yöntemini kullanarak PDF belgesini dijital olarak imzalayın.
- Belgeyi PdfFileSignature.Save() yöntemini kullanarak kaydedin.
Aşağıdaki kod örneği, C# dilinde bir PDF belgesine nasıl dijital imza ekleneceğini gösterir.
// PDF belgesini yükle
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);
// İmza görünümünü ayarla
signature.SignatureAppearance = @"aspose-logo.png";
// Üç imza türünden herhangi birini oluşturun
signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// Dijital olarak imzalanmış PDF dosyasını kaydedin
signature.Save("Digitally Signed PDF.pdf");
}
}
C# Zaman Damgası Sunucusu kullanarak PDF’ye Dijital İmza Ekleme
Ayrıca, TimestampSettings sınıfını kullanarak ayrıntılarını sağlayarak TimeStamp sunucusuyla bir PDF belgesine dijital imza ekleyebilirsiniz. Aşağıdaki kod örneği, bir PDF belgesinin C# dilinde bir TimeStamp sunucusuyla dijital olarak nasıl imzalanacağını gösterir.
// PDF belgesini yükle
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);
// Üç imza türünden herhangi birini oluşturun
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// Çıktı PDF dosyasını kaydet
signature.Save("Output.pdf");
}
}
Dijital Olarak İmzalanmış PDF’yi C# ile Doğrulayın
Aşağıda, bir PDF belgesinde dijital imzayı doğrulama adımları yer almaktadır:
- Document sınıfından bir nesne oluşturun ve onu PDF belgesinin yolu ile başlatın.
- PdfFileSignature sınıfından bir nesne oluşturun ve onu Document sınıfının nesnesiyle başlatın.
- PDF belgesinin tüm imzalarına erişin.
- PdfFileSignature.VerifySigned() yöntemini kullanarak imzanın geçerliliğini doğrulayın.
Aşağıdaki kod örneği, C# kullanarak PDF’de dijital imzanın nasıl doğrulanacağını gösterir.
// PDF belgesini yükle
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
{
// Bir şey yap
}
}
}
}
}
}
Aspose.PDF for .NET’i Ücretsiz Deneyin
Aspose.PDF for .NET’i denemek ve kullanmak için ücretsiz geçici lisans alabilirsiniz.
Çözüm
Bu makalede, C#.NET’te PDF dosyalarına nasıl dijital imza ekleyeceğinizi öğrendiniz. Ayrıca, dijital olarak imzalanmış PDF dosyalarını programlı olarak C# ile nasıl doğrulayacağınızı gördünüz. Aspose.PDF for .NET’i uygulamalarınıza kolayca kurabilir ve PDF dosyalarınızı sorunsuz bir şekilde dijital olarak imzalayabilirsiniz.