اعتبارات أمان التجميعات

عندما تنشئ تجميع , يمكنك تحديد مجموعة من الأذونات التي يتطلبها التجميع ليتم تشغيله. ما إذا كان بعض الأذونات ممنوحة أو غير ممنوحة لتجميع هذا بناء على دليل.

هناك طريقتان مميزاتان لإستخدام الدليل:

  • يتم دمج دليل الإدخال مع الدليل الذي جمعه المحمّل لإنشاء مجموعة نهائية من الدليل المستخدم من أجل تحليل النهج. تتضمن الأساليب التي تستخدم هذه الدلالة Assembly.Load ،و Assembly.LoadFrom , و Activator.CreateInstance.

  • دليل الإدخال يُستخدم بدون تغير كالمجموعة النهائية من الدليل المستخدم من أجل تحليل النهج. تتضمن الأساليب التي تستخدم هذه الدلالة Assembly.Load(byte[]) و AppDomain.DefineDynamicAssembly().

يمكن منح أذونات اختيارية بواسطة نهج الأمان المعين على الكمبيوتر حيث سيتم تشغيل التجميع. إذا كنت ترغب أن تعالج التعليمات البرمجية الخاصة بك كافة استثناءات الأمان المحتملة ، يمكنك تنفّيذ أحد الإجراءات التالية:

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

  • لا تستخدم طلب إذن للحصول على أذونات قد تحتاجها التعليمات البرمجية الخاصة بك ,و لكن كن مستعداً لمعالجة استثناءات الأمان إذا لم يتم منح الأذونات.

    ملاحظةملاحظة

    الأمان منطقة معقدة , و لديك العديد من الخيارات لتختار من بينها.لمزيد من المعلومات، راجع مفاهيم الأمان المفتاحية.

في وقت التحميل , يتم استخدام دليل التجميع كمدخل إلى نهج الأمان. يتم تأسيس نهج الأمان بواسطة المؤسسة و مسئول الكمبيوتر و أيضاً بواسطة إعدادات نهج المستخدم , و يحدد مجموعة الأذونات الممنوحة لكافة التعليمات البرمجية المدارة عند تنفيذها. يمكن تأسيس نهج الأمان لناشر التجميع (في حالة وجود توقيع مولد بأداة توقيع) ، للموقع على الويب و المنطقة ( بمصطلحات Internet Explorer) التي تم تنزيل التجميع منها ، أو لاسم التجميع القوي على سبيل المثال، مسؤول الكمبيوتر يمكنه أن يؤسس نهج الأمان يسمح لكافة التعليمات البرمجية التي تم تحميلها من موقع ويب و الموقعة من قبل شركة برامج محددة بالوصول إلى قاعدة بيانات على جهاز كمبيوتر , ولكن لا يمنح حق الوصول للكتابة على قرص الكمبيوتر.

التجميعات ذات الأسماء القوية و أدوات التوقيع

يمكنك التوقيع على تجميع بطريقتين مختلفتين و لكن متكاملتين: باسم قوي أو باستخدام إما الـ Signcode.exe (أداة توقيع الملف) في .NET Framework الإصدار 1.0 و 1.1 أو SignTool.exe (أداة التوقيع) في الإصدارات اللاحقة من .NET Framework. التوقيع على تجميع باسم قوي يضيف تشفير بمفتاح عام إلى الملف الذي يحتوي على بيان التجميع. التوقيع بالاسم القوي يساعد على التحقق من فرادة اسم , و منع انتحال الأسماء , و تزويد المستدعين بشيء من الهوية عند حل مرجع.

ومع ذلك ، لا يقترن مستوى ثقة مع اسم قوي ، الذي يجعل الـ Signcode.exe (أداة توقيع الملف) و SignTool.exe (أداة التوقيع) مهمين. أداتي التوقيع تتطلبان من الناشر إثبات هويته لجهة خارجية مصدقة و الحصول على شهادة. هذه الشهادة تُضَمن بعد إذ في ملفك الخاص و يمكن استخدامها من قبل مسؤول ليحدد ما إذا كان سيثق في أصالة التعليمات البرمجية.

يمكنك إعطاء كل من الاسم القوي و التوقيع الرقمي المنشئان باستخدام Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) لتجميع ، أو يمكنك استخدام أحدهما بمفردها. يمكن لأداتي التوقيع توقيع ملف واحد فقط في نفس الوقت ; للتجميع متعدد الملفات تقوم بتوقيع الملف الذي يحتوي على بيان التجميع. يتم تخزين الاسم القوي في الملف الذي يحتوي على بيان التجميع , و لكن التوقيع الذي تم إنشاؤه باستخدام Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) يتم تخزينه في فتحة محجوزة في ملف (PE) المحمول القابل للتنفيذ الذي يحتوي على بيان التجميع. توقيع تجميع باستخدام Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) يمكن استخدامه (مع أو بدون اسم قوي) عندما يكون لديك بالفعل تسلسل ثقة هرمي يعتمد على التواقيع المولدة بـ Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) ، أو عندما يستخدم نهجك الخاص جزء المفتاح ثم لا يتحقق من سلسلة الثقة.

ملاحظةملاحظة

عند استخدام كلا من الاسم القوي و توقيع أداة التوقيع على تجميع, يجب تعيين الاسم القوي أولاً.

وقت تشغيل اللغة العامة ينفذ أيضاً تحقق التجزئة; بيان التجميع يحتوي على قائمة بكافة الملفات التي تشكل التجميع ,بما في ذلك تجزئة لكل ملف كما كان موجود عند إنشاء البيان. كلما يتم تحميل ملف , يتم تجزئة محتوياته و مقارنتها بقيمة التجزئة المخزنة في البيان. إذا كانت التجزئتين لا تتطابقان , يفشل تحميل التجميع.

لأن التسمية القوية و التوقيع باستخدام Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) تضمنان التكامل , يمكنك تأسيس نهج أمان الوصول إلى التعليمات البرمجية على هذين النموذجين من دليل التجميع. التسمية قوية و التوقيع باستخدام Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) تضمنان التكامل من خلال التواقيع الرقمية و الشهادات. كل التقنيات المذكورة — التحقق من التجزئة , التسمية القوية , و التوقيع باستخدام الـ Signcode.exe (أداة توقيع الملف) أو SignTool.exe (أداة التوقيع) — تعمل معًا للتأكد من عدم تغير التجميع بأي طريقة.

راجع أيضًا:

المرجع

SignTool.exe (أداة التوقيع)

Signcode.exe (أداة توقيع الملف)

المبادئ

التجميعات ذات الأسماء القوية

المجمعات في وقت تشغيل اللغة العامة