DigitalSignatureUtil

DigitalSignatureUtil class

يوفر طرقًا لتوقيع المستند.

لمعرفة المزيد، قم بزيارةالعمل مع التوقيعات الرقمية مقالة توثيقية.

public static class DigitalSignatureUtil

طُرق

اسموصف
static LoadSignatures(Stream)تحميل التوقيعات الرقمية من المستند باستخدام الدفق.
static LoadSignatures(string)تحميل التوقيعات الرقمية من المستند.
static RemoveAllSignatures(Stream, Stream)إزالة كافة التوقيعات الرقمية من المستند في التدفق المصدر وكتابة المستند غير الموقع إلى التدفق الوجهة.
static RemoveAllSignatures(string, string)إزالة كافة التوقيعات الرقمية من الملف المصدر وكتابة الملف غير الموقع إلى الملف الوجهة.
static Sign(Stream, Stream, CertificateHolder)يوقع المستند المصدر باستخدام المحددCertificateHolderباستخدام التوقيع الرقمي ويكتب المستند الموقع إلى التدفق الوجهة.
static Sign(string, string, CertificateHolder)يوقع المستند المصدر باستخدام المحددCertificateHolder باستخدام التوقيع الرقمي ويكتب المستند الموقع إلى الملف الوجهة.
static Sign(Stream, Stream, CertificateHolderSignOptions)يوقع المستند المصدر باستخدام المحددCertificateHolder وSignOptions مع التوقيع الرقمي ويكتب المستند الموقع إلى التدفق الوجهة.
static Sign(string, string, CertificateHolderSignOptions)يوقع المستند المصدر باستخدام المحددCertificateHolder وSignOptions مع التوقيع الرقمي ويكتب المستند الموقع إلى الملف الوجهة.

ملاحظات

وبما أن التوقيع الرقمي يعمل مع محتوى الملف بدلاً من نموذج كائن المستند، فقد تم وضع هذه الأساليب في فئة منفصلة.

التنسيقات المدعومة هيDoc وDocx.

أمثلة

يوضح كيفية تحميل التوقيعات من مستند موقع رقميًا.

// هناك طريقتان لتحميل مجموعة التوقيعات الرقمية الخاصة بالمستند الموقع باستخدام فئة DigitalSignatureUtil.
// 1 - التحميل من مستند من اسم ملف نظام ملفات محلي:
DigitalSignatureCollection digitalSignatures = 
    DigitalSignatureUtil.LoadSignatures(MyDir + "Digitally signed.docx");

// إذا كانت هذه المجموعة غير فارغة، فيمكننا التحقق من توقيع المستند رقميًا.
Assert.AreEqual(1, digitalSignatures.Count);

// 2 - التحميل من مستند من FileStream:
using (Stream stream = new FileStream(MyDir + "Digitally signed.docx", FileMode.Open))
{
    digitalSignatures = DigitalSignatureUtil.LoadSignatures(stream);
    Assert.AreEqual(1, digitalSignatures.Count);
}

يوضح كيفية إزالة التوقيعات الرقمية من مستند موقع رقميًا.

// هناك طريقتان لاستخدام فئة DigitalSignatureUtil لإزالة التوقيعات الرقمية
// من مستند موقع عن طريق حفظ نسخة غير موقعة منه في مكان آخر في نظام الملفات المحلي.
// 1 - تحديد موقع كل من المستند الموقع والنسخة غير الموقعة من خلال سلاسل اسم الملف:
DigitalSignatureUtil.RemoveAllSignatures(MyDir + "Digitally signed.docx",
    ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx");

// 2 - تحديد موقع كل من المستند الموقع والنسخة غير الموقعة من خلال تدفقات الملفات:
using (Stream streamIn = new FileStream(MyDir + "Digitally signed.docx", FileMode.Open))
{
    using (Stream streamOut = new FileStream(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx", FileMode.Create))
    {
        DigitalSignatureUtil.RemoveAllSignatures(streamIn, streamOut);
    }
}

// تحقق من أن كلا مستندي الإخراج لدينا لا يحتويان على توقيعات رقمية.
Assert.That(DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx"), Is.Empty);
Assert.That(DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx"), Is.Empty);

أنظر أيضا