giriiş
Günümüzün dijital dünyasında, belge gerçekliğini ve bütünlüğünü sağlamak işletmeler ve kuruluşlar için kritik öneme sahiptir. Dijital imzalar, belge gerçekliğini doğrulamak ve yetkisiz değişiklikleri tespit etmek için güçlü bir mekanizma sağlar. GroupDocs.Signature for .NET, çeşitli belge biçimlerinde dijital imzalarla çalışmak için kapsamlı bir çözüm sunarak, geliştiricilerin imza işlevlerini .NET uygulamalarına sorunsuz bir şekilde entegre etmelerini sağlar.
Bu eğitim, .NET için GroupDocs.Signature kullanarak belgeler içinde dijital imzaları arama sürecinde size rehberlik edecek, ayrıntılı açıklamalar ve pratik kod örnekleri sağlayacaktır.
Ön koşullar
Uygulama detaylarına dalmadan önce aşağıdaki ön koşullara sahip olduğunuzdan emin olun:
GroupDocs.Signature for .NET: Kitaplığı şu adresten indirin ve yükleyin: Burada.
Geliştirme Ortamı: Visual Studio veya tercih ettiğiniz IDE ile bir .NET geliştirme ortamı kurun.
Örnek Belgeler: Test amaçlı dijital imzaları içeren örnek belgeler hazırlayın.
Temel Bilgi: C# programlama dili ve .NET framework temellerine aşinalık.
Ad Alanlarını İçe Aktar
GroupDocs.Signature for .NET tarafından sağlanan işlevselliğe erişmek için gerekli ad alanlarını içe aktararak başlayın:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
Şimdi dijital imza arama sürecini anlaşılır ve yönetilebilir adımlara bölelim:
Adım 1: İmza Nesnesini Başlatın
Bir örnek oluşturarak başlayın Signature
sınıf, belgenize giden yolu aktarıyor:
string filePath = "sample_multiple_signatures.docx";
using (Signature signature = new Signature(filePath))
{
// Dijital imzaları aramak için kod buraya eklenecek
}
Adım 2: Dijital İmzaları Arayın
Sonra şunu kullanın: Search
yöntemi ile SignatureType.Digital
Belgedeki dijital imzaları aramak için parametre:
// Belgede dijital imzaları arayın
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
Adım 3: Sonuçları İşleyin ve Görüntüleyin
Son olarak arama sonuçlarını işleyin ve bulunan dijital imzalarla ilgili ilgili bilgileri görüntüleyin:
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
Tam Örnek
İşte bir belgede dijital imzaların nasıl aranacağını gösteren eksiksiz ve çalışan bir örnek:
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
namespace SearchDigitalSignatures
{
class Program
{
static void Main(string[] args)
{
// Belge yolu
string filePath = "sample_multiple_signatures.docx";
// İmza örneğini başlat
using (Signature signature = new Signature(filePath))
{
// Belgede dijital imzaları arayın
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(SignatureType.Digital);
// Arama sonuçlarını görüntüle
Console.WriteLine($"\nSource document ['{filePath}'] contains the following digital signatures:");
if (signatures.Count > 0)
{
foreach (var digitalSignature in signatures)
{
Console.WriteLine($"Digital signature found from {digitalSignature.SignTime} with validation status: {digitalSignature.IsValid}");
Console.WriteLine($"Certificate: Subject: {digitalSignature.Certificate?.SubjectName}");
Console.WriteLine($"Certificate: Issuer: {digitalSignature.Certificate?.IssuerName}");
Console.WriteLine($"Certificate: Serial Number: {digitalSignature.Certificate?.SerialNumber}");
Console.WriteLine();
}
}
else
{
Console.WriteLine("No digital signatures found in the document.");
}
}
}
}
}
Gelişmiş Arama Seçenekleri
Daha hedefli aramalar için şunları kullanabilirsiniz: DigitalSearchOptions
arama kriterlerini özelleştirmek için:
// Dijital arama seçenekleri oluşturun
DigitalSearchOptions options = new DigitalSearchOptions()
{
// Yalnızca belirli sayfalarda arama yapın (örneğin, 1. ve 2. sayfalar)
PageNumber = 1,
PagesSetup = new PagesSetup() { Pages = new List<int> { 1, 2 } },
// Dijital imzalarda yorumlara göre filtreleme
Comments = "Approved",
// Arama için tarih ve saat aralığını ayarlayın
SignDateTimeFrom = new DateTime(2022, 1, 1),
SignDateTimeTo = DateTime.Now
};
// Belirli seçeneklerle arama yapın
List<DigitalSignature> signatures = signature.Search<DigitalSignature>(options);
Sertifika Bilgileri ile Çalışma
Dijital imzalar, erişebileceğiniz ve doğrulayabileceğiniz değerli sertifika bilgileri içerir:
foreach (var digitalSignature in signatures)
{
if (digitalSignature.Certificate != null)
{
// Erişim sertifikası özellikleri
Console.WriteLine($"Certificate Valid From: {digitalSignature.Certificate.NotBefore}");
Console.WriteLine($"Certificate Valid To: {digitalSignature.Certificate.NotAfter}");
// Sertifikanın geçerli tarih aralığında olup olmadığını kontrol edin
bool isDateValid = DateTime.Now >= digitalSignature.Certificate.NotBefore &&
DateTime.Now <= digitalSignature.Certificate.NotAfter;
Console.WriteLine($"Certificate Date Validity: {isDateValid}");
// Erişim sertifikası yayıncısının ayrıntıları
Console.WriteLine($"Certificate Issuer: {digitalSignature.Certificate.IssuerName}");
}
}
Çözüm
GroupDocs.Signature for .NET, belgelerdeki dijital imzaları aramak ve doğrulamak için güçlü ve esnek bir çözüm sunar. Bu eğitimde, .NET uygulamalarında dijital imza arama işlevini uygulama sürecini adım adım inceleyerek, belge güvenliğini ve bütünlük doğrulamasını geliştirmeniz için gereken bilgi birikimini edinmenizi sağladık.
GroupDocs.Signature’ı kullanarak, dijital belgelerinizin gerçekliğini ve bütünlüğünü garanti eden, iş süreçlerinizde güveni ve uyumluluğu artıran güçlü belge yönetim sistemleri oluşturabilirsiniz.
SSS
GroupDocs.Signature dijital imzaların geçerliliğini doğrulayabilir mi?
Evet, GroupDocs.Signature arama işlemi sırasında dijital imzaları otomatik olarak doğrular ve doğrulama durumunu sağlar. IsValid
mülkiyeti DigitalSignature
sınıf.
Hangi belge biçimleri dijital imza aramasını destekler?
GroupDocs.Signature, PDF, Microsoft Office belgeleri (Word, Excel, PowerPoint), OpenOffice biçimleri ve daha fazlası dahil olmak üzere çeşitli biçimlerde dijital imza aramayı destekler.
Şifreyle korunan belgelerde dijital imzaları arayabilir miyim?
Evet, başlatırken parolayı sağlayarak parola korumalı belgelerde dijital imzaları arayabilirsiniz. Signature
nesne:
LoadOptions loadOptions = new LoadOptions() { Password = "your_password" };
using (Signature signature = new Signature(filePath, loadOptions))
{
// Dijital imzaları arayın
}
Dijital imzanın belirli bir kişi tarafından oluşturulduğunu nasıl doğrulayabilirim?
İmzalayanın kimliğini doğrulamak için sertifikanın konu adını ve diğer özelliklerini inceleyebilirsiniz:
foreach (var signature in signatures)
{
if (signature.Certificate?.SubjectName?.Contains("John Doe") == true)
{
Console.WriteLine("Found signature by John Doe");
}
}
Dijital imza sertifikasından genel anahtarı çıkarabilir miyim?
Evet, sertifika özellikleri aracılığıyla genel anahtar bilgilerine erişebilirsiniz:
if (signature.Certificate != null)
{
// Genel anahtar bilgilerine erişim
Console.WriteLine($"Public Key: {signature.Certificate.GetPublicKeyString()}");
}