DigitalSignatureUtil

DigitalSignatureUtil class

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

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

public static class DigitalSignatureUtil

طُرق

اسموصف
static LoadSignatures(Stream)يقوم بتحميل التوقيعات الرقمية من المستند باستخدام 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 ، Dot ، Docx ، Dotx ، Docm ، Dotm ، Odt ، Ott.

أمثلة

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

// هناك طريقتان لتحميل مجموعة التوقيعات الرقمية للمستند الموقّع باستخدام فئة 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.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromString.docx").Count);
Assert.AreEqual(0, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "DigitalSignatureUtil.LoadAndRemove.FromStream.docx").Count);

أنظر أيضا