Dijital İmzalar

Dijital İmzalar

Aspose.Words FOSS for .NET zaten birine eklenmiş dijital imzaları inceleyebilir ve doğrulayabilir .docx belge üzerinden Aspose.Words.DigitalSignatures ad alanı. Bu sürüm imza verification — imza meta verilerini okuma, geçerliliği kontrol etme ve imzalayan sertifikayı inceleme. Bir belgede yeni imzalar oluşturma yeteneğini içermez.


Bir Belgede İmzaları Okuma

Her Document, bir DigitalSignatures özelliği sunar ve bu özellik bir DigitalSignatureCollection döndürür — yüklü dosyada zaten bulunan DigitalSignature nesnelerinin salt okunur, sayılabilir koleksiyonu. DigitalSignatureUtil.LoadSignatures(fileName) (ve LoadSignatures(stream) aşırı yüklemesi), tam belgeyi bir Document nesnesine yüklemeden, doğrudan bir dosyadan veya akıştan imzaları okur; bu, yalnızca imza durumunu kontrol etmeniz gerektiğinde faydalıdır. Koleksiyonun IsValid özelliği, içinde bulunan her imzanın geçerli olup olmadığını rapor eder ve Count bulunan imza sayısını rapor eder.


Tek Bir İmzayı İnceleme

Her DigitalSignature, IsValid (imzanın kriptografik olarak geçerli olup olmadığı), SignatureType (bir DigitalSignatureType değeri — CryptoApi, XmlDsig veya Unknown), SignTime, Comments, SubjectName, IssuerName ve ham SignatureValue baytlarını ortaya koyar. CertificateHolder özelliği, imzalayan sertifikayı saran bir CertificateHolder nesnesi döndürür; onun Certificate özelliği, temel X509Certificate2‘i ortaya çıkarır, böylece .NET’nin kendi sertifika API’leriyle standart sertifika alanlarını (veren, konu, geçerlilik süresi) inceleyebilirsiniz.


Bu Sürümde Desteklenmeyenler

API yüzeyi hâlâ imzalama ile ilgili üyeleri — DigitalSignatureUtil.Sign(), SignOptions, ve XmlDsigLevel — ticari Aspose.Words for .NET nesne modeliyle yapısal uyumluluk sağlamak için, ancak bir belgede yeni bir dijital imza oluşturmak bu FOSS sürümünde işlevsel değildir. Bu sürümü şunlar için kullanın verify belgede zaten var olan imzalar için; bir imzalama iş akışı gerektirir Aspose.Words için .NET.


İpuçları ve En İyi Uygulamalar

  • Sadece bir dosyanın imzalı olup olmadığını kontrol etmeniz gerektiğinde tam Document‘i açmak yerine DigitalSignatureUtil.LoadSignatures()‘i tercih edin — bu, tüm belge gövdesini ayrıştırma maliyetini önler.
  • Bireysel DigitalSignature.IsValid değerlerini yinelemeden önce hızlı bir geç/başarısız kontrolü için önce DigitalSignatureCollection.IsValid‘i kontrol edin.
  • SignatureType, imzayı hangi imzalama mekanizmasının ürettiğini (CryptoApi vs. XmlDsig) size bildirir; bu, hangi sertifika alanlarının anlamlı olduğunu etkiler.
  • Herhangi bir otomatik belge alım hattında IsValid == false‘i kesin bir başarısızlık durumu olarak ele alın — geçersiz bir imzadan gelen imza meta verilerini güvenilir olarak ortaya çıkarmayın.

Yaygın Sorunlar

SorunNedenDüzeltme
DigitalSignatures.Count bir imzalı .docx üzerinde 0’durDosya, imza bölümünü kaldıran bir araç tarafından yeniden kaydedildi.Orijinal imzalı dosyaya karşı doğrulayın, yeniden kaydedilmiş bir kopya değil.
İmza IsValid = false rapor ediyorİmzaladıktan sonra belge içeriği değişti veya sertifika güvenilmiyor/ süresi dolmuşGeçersiz olarak ele alın; imzayı “onarım” yapmaya çalışmayın
Belgeyi imzalamaya çalışmak hiçbir etki yaratmazİmzalama bu FOSS sürümünde uygulanmamıştırAspose.Words öğesini .NET (ticari) imzalama iş akışları için kullanın
CertificateHolder.Certificate incelendiğinde hata fırlatırAlttaki sertifika verileri hatalı biçimlendirilmiş veya imza bölümü bozulmuşKaynak dosyanın gerçek, değiştirilmemiş bir imzalı belge olduğunu doğrulayın

FAQ

Aspose.Words FOSS for .NET bir belgeyi imzalayabilir mi?

Hayır. Bu sürüm mevcut dijital imzaları doğrulayabilir ancak yeni imzalar oluşturamaz. DigitalSignatureUtil.Sign() yöntemi ve SignOptions sınıfı, yapısal uyumluluk için API yüzeyinde bulunur, ancak burada imzalama işlevsel değildir.

Bir belgeyi tamamen yüklemeden imzalı olup olmadığını nasıl kontrol ederim?

Dosyadan doğrudan bir DigitalSignatureCollection döndüren DigitalSignatureUtil.LoadSignatures(fileName)‘ı çağırın.

DigitalSignatureCollection.IsValid ne anlama geliyor?

Bu, koleksiyondaki her imza ayrı ayrı geçerli olduğunda true olur — her DigitalSignature‘ı incelemeden önce belge imza bütünlüğünü hızlıca kontrol etmenin bir yoludur.

Bir imzanın sertifika ayrıntılarını nereden alabilirim?

DigitalSignature.CertificateHolder.Certificate aracılığıyla, standart bir .NET X509Certificate2 döndürür.


API Reference Özet

Sınıf / MetotAçıklama
Document.DigitalSignaturesYüklenmiş bir belgeye zaten eklenmiş imzalar
DigitalSignatureUtil.LoadSignatures()Tam belgeyi yüklemeden bir dosyadan veya akıştan imzaları okuyun
DigitalSignatureCollectionYalnızca okunabilir DigitalSignature nesnelerinin koleksiyonu; IsValid, Count
DigitalSignatureTek bir imza: IsValid, SignTime, SubjectName, IssuerName, CertificateHolder
DigitalSignatureTypeEnum: CryptoApi, XmlDsig, Unknown
CertificateHolderİmzalama X509Certificate2‘ı sarar

Ayrıca Bakınız

 Türkçe