العمل مع التوقيعات الرقمية

التوقيع الرقمي هو تطبيق تكنولوجي للتوقيعات الإلكترونية لتوقيع المستندات والمصادقة على الموقع لضمان عدم تعديل المستند منذ التوقيع عليه. كل توقيع رقمي فريد لكل موقّع بسبب اتباع بروتوكول PKI لإنشاء المفاتيح العامة والخاصة. يعني توقيع مستند رقميًا إنشاء توقيع باستخدام المفتاح الخاص للموقع حيث يتم استخدام خوارزمية رياضية لتشفير التجزئة التي تم إنشاؤها.

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

تشرح هذه المقالة كيفية القيام بكل ما سبق للتحقق من صحة وسلامة المستند الرقمي.

التنسيقات المدعومة

يتيح لك Aspose.Words العمل مع التوقيعات الرقمية على مستندات DOC وOOXML وODT وتوقيع المستند الذي تم إنشاؤه بتنسيق PDF أو XPS.

حدود التوقيعات الرقمية

يصف الجدول أدناه بعض القيود التي قد تواجهها أثناء العمل مع التوقيعات الرقمية من خلال Aspose.Words، بالإضافة إلى بعض الخيارات البديلة.

القيد الخيار البديل
فقدان التوقيعات الرقمية على المستند بعد تحميله وحفظه. لذلك، قد تؤدي معالجة المستند إلى الخادم إلى فقدان جميع التوقيعات الرقمية دون إشعار تحقق مما إذا كان المستند يحتوي على توقيعات رقمية واتخذ الإجراء المناسب في حالة العثور على أي منها. على سبيل المثال، قم بإرسال تنبيه إلى العملاء لإعلامهم بأن المستند الذي يقومون بتحميله يحتوي على توقيعات رقمية ستفقد إذا تمت معالجتها
يدعم Aspose.Words العمل مع وحدات الماكرو في المستند. لكن Aspose.Words لا يدعم حتى الآن التوقيعات الرقمية على وحدات الماكرو قم بتصدير المستند مرة أخرى إلى أي تنسيق Word، واستخدم Microsoft Word لإضافة توقيع رقمي إلى وحدات الماكرو

كشف التوقيعات الرقمية وإحصائها والتحقق منها

يتيح لك Aspose.Words اكتشاف التوقيع الرقمي في المستند باستخدام طريقة DetectFileFormat وخاصية HasDigitalSignature. ومن الجدير بالذكر أن مثل هذا الفحص لن يكشف إلا عن حقيقة التوقيع، وليس عن صحته.

يمكن توقيع المستند أكثر من مرة، ويمكن أن يتم ذلك بواسطة مستخدمين مختلفين. للتحقق من صحة التوقيعات الرقمية، تحتاج إلى تحميلها من المستند باستخدام طريقة LoadSignatures واستخدام خاصية IsValid. كما يتيح لك Aspose.Words حساب مجموعة من كافة التوقيعات الرقمية داخل المستند باستخدام خاصية Count.

كل هذا يوفر طريقة فعالة وآمنة للتحقق من التوقيعات في المستند قبل معالجته.

يوضح مثال التعليمات البرمجية التالي كيفية اكتشاف وجود التوقيعات الرقمية والتحقق منها:

إنشاء التوقيع الرقمي

لإنشاء توقيع رقمي، سوف تحتاج إلى تحميل شهادة توقيع تؤكد الهوية. عند إرسال مستند موقع رقميًا، فإنك ترسل أيضًا شهادتك ومفتاحك العام.

يسمح لك Aspose.Words بإنشاء شهادة X.509، وهي شهادة رقمية تستخدم معيار X.509 PKI المقبول دوليًا للتحقق من أن المفتاح العام ينتمي إلى المُوقِّع المُدرج داخل الشهادة. للقيام بذلك، استخدم أسلوب Create ضمن فئة CertificateHolder.

تشرح الأقسام التالية كيفية إضافة توقيع رقمي وسطر توقيع وكيفية توقيع مستند PDF تم إنشاؤه.

التوقيع على وثيقة

يتيح لك Aspose.Words التوقيع على مستند DOC أو DOCX أو XPS أو ODT رقميًا باستخدام طريقة Sign وخصائص SignOptions.

يوضح مثال التعليمات البرمجية التالي كيفية توقيع المستندات باستخدام حامل الشهادة وخيارات التوقيع:

أضف خط التوقيع

سطر التوقيع هو تمثيل مرئي للتوقيع الرقمي في المستند. يتيح لك Aspose.Words إدراج سطر التوقيع باستخدام طريقة DocumentBuilder.InsertSignatureLine. يمكنك أيضًا تعيين المعلمات لهذا التمثيل باستخدام فئة SignatureLineOptions.

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

رسم رسم

وأيضًا، إذا كان المستند يحتوي على سطر توقيع ولا يحتوي على توقيع رقمي، فهناك ميزة تطلب من المستخدم إضافة توقيع.

يوضح مثال التعليمات البرمجية التالي كيفية توقيع مستند باستخدام شهادة شخصية وسطر توقيع محدد:

قم بالتوقيع على وثيقة PDF التي تم إنشاؤها

يتيح لك Aspose.Words التوقيع والحصول على جميع تفاصيل مستند PDF باستخدام خصائص PdfDigitalSignatureDetails.

يوضح مثال التعليمات البرمجية التالي كيفية التوقيع على ملف PDF تم إنشاؤه:

استرداد قيمة التوقيع الرقمي

يوفر Aspose.Words أيضًا القدرة على استرداد قيمة التوقيع الرقمي من مستند موقع رقميًا كمصفوفة بايت باستخدام خاصية SignatureValue.

يوضح مثال التعليمات البرمجية التالي كيفية الحصول على قيمة التوقيع الرقمي كمصفوفة بايت من مستند:

إزالة التوقيعات الرقمية

يتيح لك Aspose.Words إزالة جميع التوقيعات الرقمية من مستند موقع باستخدام طريقة RemoveAllSignatures.

يوضح مثال التعليمات البرمجية التالي كيفية تحميل التوقيعات الرقمية وإزالتها من المستند: