Dijital imzalarla Çalışma

Dijital imza, bir belgenin imzalandığından beri değiştirilmediğini garanti etmek için belgeleri imzalamak ve imzalayanın kimliğini doğrulamak için elektronik imzaların teknolojik bir uygulamasıdır. Her dijital imza, hem genel hem de özel anahtarlar oluşturmak için PKI protokolünü takip etmesi nedeniyle her imzalayan için benzersizdir. Bir belgeyi dijital olarak imzalamak, oluşturulan karmayı şifrelemek için matematiksel bir algoritmanın kullanıldığı imzalayanın özel anahtarını kullanarak imza oluşturmak anlamına gelir.

Aspose.Words mevcut dijital imzaları algılamanıza, saymanıza veya doğrulamanıza ve ayrıca belgenizdeki herhangi bir tahrifatı bulmak için belgenize yeni bir imza eklemenize olanak tanır. Bir belgedeki tüm dijital imzaları da kaldırabilirsiniz. Dijital imzalarla çalışmak için DigitalSignatureUtil sınıfını kullanın.

Bu makalede, bir dijital belgenin gerçekliğini ve bütünlüğünü doğrulamak için yukarıdakilerin hepsinin nasıl yapılacağı açıklanmaktadır.

Desteklenen Formatlar

Aspose.Words, DOC, OOXML ve ODT belgeler üzerinde dijital imzalarla çalışmanıza ve oluşturulan belgeyi PDF veya XPS biçiminde imzalamanıza olanak tanır.

Dijital İmzaların Sınırlamaları

Aşağıdaki tabloda, Aspose.Words aracılığıyla dijital imzalarla çalışırken karşılaşabileceğiniz birkaç sınırlamanın yanı sıra bazı alternatif seçenekler açıklanmaktadır.

Sınırlama Alternatif seçenek
Bir belgeyi yükledikten ve kaydettikten sonra dijital imza kaybı. Bu nedenle, bir belgeyi bir sunucuya işlemek, önceden haber verilmeksizin tüm dijital imzaların kaybolmasına neden olabilir. Bir belgenin dijital imzaları olup olmadığını kontrol edin ve varsa uygun işlemi yapın. Örneğin, istemcilere, yükledikleri belgenin işlendiğinde kaybolacak dijital imzalar içerdiğini bildiren bir uyarı gönderin.
Aspose.Words bir belgedeki makrolarla çalışmayı destekler. Ancak Aspose.Words makrolardaki dijital imzaları henüz desteklemiyor. Belgeyi herhangi bir Word biçimine geri verin ve makrolara dijital imza eklemek için Microsoft Word kullanın.

Dijital İmzaları Algılama, Sayma ve Doğrulama

Aspose.Words, DetectFileFormat yöntemini ve HasDigitalSignature özelliğini kullanarak bir belgedeki dijital imzayı algılamanıza olanak tanır. Böyle bir çekin yalnızca imzanın gerçeğini tespit edeceğini, ancak geçerliliğini tespit etmeyeceğini belirtmekte fayda var.

Bir belge birden fazla kez imzalanabilir ve bu çeşitli kullanıcılar tarafından yapılabilir. Dijital imzaların geçerliliğini kontrol etmek için bunları LoadSignatures yöntemini kullanarak belgeden yüklemeniz ve IsValid özelliğini kullanmanız gerekir. Ayrıca Aspose.Words, Count özelliğini kullanarak bir belgedeki tüm dijital imza kümesini saymanıza olanak tanır.

Tüm bunlar, bir belgeyi işlemeden önce imzalar için kontrol etmenin etkili ve güvenli bir yolunu sağlar.

Aşağıdaki kod örneği, dijital imzaların varlığını nasıl algılayacağınızı ve bunları nasıl doğrulayacağınızı gösterir:

Dijital İmza Oluşturma

Dijital imza oluşturmak için kimliği doğrulayan bir imza sertifikası yüklemeniz gerekir. Dijital olarak imzalanmış bir belge gönderdiğinizde, sertifikanızı ve ortak anahtarınızı da gönderirsiniz.

Aspose.Words bir ortak anahtarın sertifikanın içinde bulunan imzalayana ait olduğunu doğrulamak için uluslararası kabul görmüş X.509 PKI standardını kullanan bir dijital sertifika olan X.509 sertifikası oluşturmanıza olanak tanır. Bunu yapmak için CertificateHolder sınıfındaki Create yöntemini kullanın.

Sonraki bölümlerde dijital imzanın, imza satırının nasıl ekleneceği ve oluşturulan PDF belgenin nasıl imzalanacağı açıklanmaktadır.

Belge İmzalama

Aspose.Words, Sign yöntemini ve SignOptions özelliklerini kullanarak bir DOC, DOCX veya ODT belgesini dijital olarak imzalamanıza olanak tanır.

Aşağıdaki kod örneği, sertifika sahibi ve imzalama seçeneklerini kullanarak belgelerin nasıl imzalanacağını gösterir:

İmza Satırı Ekleme

İmza satırı, bir belgedeki dijital imzanın görsel temsilidir. Aspose.Words DocumentBuilder.InsertSignatureLine yöntemini kullanarak bir imza satırı eklemenizi sağlar. Bu gösterim için parametreleri SignatureLineOptions sınıfını kullanarak da ayarlayabilirsiniz.

Örneğin, aşağıdaki resim geçerli ve geçersiz imzaların nasıl görüntülenebileceğini göstermektedir.

valid-signature invalid-signature

Ayrıca, bir belgede imza satırı varsa ve dijital imza yoksa, kullanıcıdan imza eklemesini isteme özelliği vardır.

Aşağıdaki kod örneği, kişisel sertifika ve belirli bir imza satırı içeren bir belgenin nasıl imzalanacağını gösterir:

Oluşturulan Bir Belgeyi İmzalayın PDF

Aspose.Words, PdfDigitalSignatureDetails özelliklerini kullanarak bir PDF belgesinin tüm ayrıntılarını imzalamanıza ve almanıza olanak tanır.

Aşağıdaki kod örneği, oluşturulan bir PDF’ın nasıl imzalanacağını gösterir.:

Dijital İmza Değerini Al

Aspose.Words ayrıca, SignatureValue özelliğini kullanarak dijital olarak imzalanmış bir belgeden dijital imza değerini bayt dizisi olarak alma olanağı sağlar.

Aşağıdaki kod örneği, dijital imza değerinin bir belgeden bayt dizisi olarak nasıl elde edileceğini gösterir:

Dijital İmzaları Kaldır

Aspose.Words, RemoveAllSignatures yöntemini kullanarak imzalı bir belgedeki tüm dijital imzaları kaldırmanıza olanak tanır.

Aşağıdaki kod örneği, bir belgeden dijital imzaların nasıl yükleneceğini ve kaldırılacağını gösterir: