< هذه مقاطع من مواضيع أعجبتني من مكتبة تعليمات فيجوال ستوديو 2010, أرجو أن تنال  إعجابكم. المقالة الأساسية موجودة هنا>

تقوم (Sn.exe) أداة الاسم القوي بالمساعدة على تسجيل التجميعات مع أسماء قوية و توفير الخيارات لمفتاح الإدارة ثم إنشاء توقيع ومن ثم التحقق من صحة التوقيع.

يتم تثبيت اداة الاسم القوي تلقائياً مع ‏Visual Studio, و لتشغيل الأداة استخدم موجه أوامر Visual Studio.. في موجه الأوامر، اكتب ما يلي:

sn [-quiet][option [parameter(s)]]

 المعلمات

 

الخيار

الوصف

-c [csp]

يقوم بتعيين موفر خدمة التشفير الافتراضي الإنترنت (CSP) لاستخدامه في توقيع الاسم المميز حيث يتم تطبيق هذا الإعداد إلى الكمبيوتر بأكمله, و إذا لم تقم بتحديد اسم CSP فإن Sn.exe يقوم بمسح الإعداد الحالي.

-d الحاوية

يقوم بحذف حاوية المفاتيح المحددة من الاسم القوي لـ (CSP).

-d assembly2 assembly1

يقوم بالتحقق من اختلاف تجميعين من قبل التوقيع و غالباً ما يُستخدم هذا كـعلامة بعد إعادة توقيع تجميع مع زوج مفاتيح مختلفة.

-e تجميع outfile

يقوم باستخراج المفتاح العام من تجميع و خزنه في outfile.

-h

يقوم بعرض بناء جملة الأمر والخيارات للأداة.

-i حاوية infile

يقوم بثبيت زوج المفاتيح من infile في حاوية المفاتيح المحددة حيث توجد حاوية المفاتيح في الاسم القوي لـ CSP.

-k [keysize] outfile

يقوم بإنشاء مفتاح جديد RSACryptoServiceProvider بالحجم المحدد و يكتبه إلى الملف المحدد حيث تتم كتابة مفتاح عام و خاص إلى الملف.

إذا لم تقم بتعيين حجم المفتاح فإنه يتم إنشاء مفتاح 1,024-بت بشكل افتراضي إذا كان لديك موفر ال��شفير لـ Microsoft المحسن المثبت و إلا يتم إنشاء مفتاح 512-بت.

المعلمة حجم المفتاح تدعم أطوال المفتاح من 384 بت إلى 16.384 بت بتزايدات من 8 بت إذا كان لديك موفر التشفير لـ Microsoft المحسن المثبت و التي تدعم أطوال المفتاح من 384 بت إلى 512 بت بتزايدات من 8 بت إذا كان لديك موفر قاعدة التشفير لـ Microsoft المحسن المثبت.

-m [y|n]

يقوم بتحديد ما إذا كان حاويات المفاتيح خاصة بالكمبيوتر أو خاصة بالمستخدم, و إذا حددت y فإن حاويات المفاتيح خاصة بالكمبيوتر, أما إذا حددت n فإن حاويات المفاتيح خاصة بالمستخدم,

و إذا لم يتم تحديد أي من y أو n فإن هذا الخيار يقوم بعرض الإعداد الحالي.

-o infile [outfile]

يقوم باستخراج المفتاح العام من infile ويخزنه في ملف .csv حيث توجد فاصلة تفصل كل بايت للمفتاح العام و يفيد هذا التنسيق في الترميز الثابت المشير إلى المفاتيح على أنها صفائف تمت تهيئتها في التعليمات البرمجية للمصدر, و إذا لم تقم بتحديد outfile فإن هذا الخيار يضع الإخراج على الحافظة.

ملاحظة

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

-p infile outfile

يقوم باستخراج المفتاح العام من زوج المفاتيح في infile ويخزنه في outfile حيث يمكن استخدام هذا المفتاح العام لتأخير تسجيل تجميع باستخدام الخيارات /delaysign+ و /keyfile لـ رابط التجميع (Al.exe), و عندما يتم تأخير توقيع تجميع فإنه يتم تعيين المفتاح العام في وقت التحويل البرمجي و يتم حجز مسافة في ملف التوقيع حتى يتم إضافتها لاحقاً عندما يعرف المفتاح الخاص.

-pc حاوية outfile

يقوم باستخراج المفتاح العام من زوج المفاتيح في حاوية ويخزنه في outfile.

-Pb[y|n]

يقوم بتحديد ما إذا تم فرض سياسة التجاوز للاسم القوي, و إذا قمت بتحديد y فإنه لا يتم التحقق من الأسماء القوية ذات الثقة الكاملة للتجميعات عندما تم تحميلها في AppDomain ذات الثقة الكاملة, أما إذا قمت بتحديد n فإنه يتم التحقق من صحة الأسماء القوية و لكن ليس اسم قوي معيّن, لكن StrongNameIdentityPermission لا يؤثر على التجميعات ذات الثقة الكاملة و يجب إجراء التحقق الخاصة بك لاسم قوي مطابق.

إذا لم يتم تحديد أي من y أو n فإن هذا الخيار يقوم بعرض الإعداد الحالي. يكون الإعداد الافتراضي هو y.

ملاحظة

على أجهزة كمبيوتر 64-بت يجب عليك تعيين هذه المعلمة في 32-بت و 64-بت مثيلات Sn.exe.

-q[uiet]

يقوم بتحديد الوضع الهادئ الذي يمنع عرض رسائل النجاح.

-R[aتجميع infile

يقوم بإعادة توقيع تجميع تم تأخير توقيعه أو موقع مسبقاً مع زوج المفاتيح في infile.

إذا تم استخدام -Ra فإنه يتم إعادة حساب التجزئات لـجميع الملفات في التجميع.

-Rc[a] حاوية تجميعات

يقوم بإعادة توقيع تجميع تم تأخير توقيعه أ, موقع مسبقاً مع زوج المفاتيح في حاوية.

إذا تم استخدام -Rca فإنه يتم إعادة حساب التجزئات لـجميع الملفات في التجميع.

-Rh تجميع

يقوم بإعادة حساب التجزئات لجميع الملفات في التجميع.

-t[p] infile

يقوم بعرض الرمز المميز للمفتاح العام المخزن في infile بحيث إن محتويات infile يجب أن تكون عبارة عن مفتاح عام تم إنشاؤه مسبقًا من ملف زوج مفاتيح باستخدام -p, و لا تقم باستخدام الخيار -t [p لاستخراج الرمز المميز مباشرةً من ملف زوج مفاتيح.

يقوم Sn.exe بحساب الرمز المميز باستخدام دالة تجزئة من المفتاح العام, و لحفظ مسافة فإن وقت تشغيل اللغة العامة يقوم بتخزين الرموز المميزة للمفتاح العام في البيان كجزء من مرجع إلى تجمع آخر عندما يسجل تبعية إلى تجميع يحتوي على اسم قوي, و الخيار -tp يعرض المفتاح العام بالإضافة إلى الرمز المميز.

لاحظ أن هذا الخيار لا يتحقق من توقيع التجميع و لا ينبغي استخدامه لاتخاذ قرارات الثقة حيث يقوم فقط بعرض بيانات الرمز المميز للمفتاح العام الخام.

-T[p] تجميع

يقوم بعرض الرمز المميز للمفتاح العام للتجميع , حيث إن تجميع يجب أن يكون اسم الملف الذي يحتوي على بيان التجميع.

يقوم Sn.exe بحساب الرمز المميز باستخدام دالة تجزئة من المفتاح العام, و لحفظ مسافة فإن وقت التشغيل يقوم بتخزين الرموز المميزة للمفتاح العام في البيان كجزء من مرجع إلى تجمع آخر عندما يسجل تبعية إلى تجميع يحتوي على اسم قوي, و الخيار -Tp يعرض المفتاح العام بالإضافة إلى الرمز المميز.

لاحظ أن هذا الخيار لا يتحقق من توقيع التجميع و لا ينبغي استخدامه لاتخاذ قرارات الثقة حيث يقوم فقط بعرض بيانات الرمز المميز للمفتاح العام الخام.

-TSassembly infile

يقوم باختبار إشارات assembly الموقع أو الموقع بشكل جزئي مع زوج المفاتيح في infile.

-TSc assembly container

يقوم باختبار إشارات assembly الموقع أو الموقع بشكل جزئي مع حاوية المفاتيح في container.

-v تجميع

يقوم بالتحقق من الاسم القوي في تجميع حيث تجميع عبارة عن اسم الملف الذي يحتوي على بيان تجميع.

-vf تجميع

يقوم بالتحقق من الاسم القوي في تجميع بعكس الخيار V- فإن -vf يفرض التحقق حتى إذا كان معطّل باستخدام الخيار -Vr.

-Vl

يقوم بسرد الإعدادات الحالية للتحقق من الاسم القوي على هذا الكمبيوتر.

-Vr assembly [userlist] [infile]

يقوم بتسجيل تجميع ليتم تخطي التحقق من صحته, و بشكل اختياري يمكنك تحديد قائمة مفصولة بفواصل من أسماء المستخدمين و إذا قمت بتحديد infile فإنه يبقى التحقق ممكّن و لكن المفتاح العام في infile يُستخدم في عمليات التحقق, و هكذا يمكن تحديد تجميع في النموذج * ، strongname لتسجيل كافة التجميعات مع الاسم القوي المحدد و يجب تحديد Strongname كسلسلة أرقام ست عشرية تمثل النموذج الذي تم ترميزه بشكل مميز للمفتاح العام. راجع الخيارات -t و -t لعرض الرمز المميز للمفتاح العام.

تنبيه

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

-Vu تجميع

لا تقم بتسجيل تجميع ليتم تخطي التحقق من صحته حيث تنطبق نفس القواعد لتجميع التسمية على -Vr التي تنطبق إلى -Vu.

-Vx

يقوم بإزالة جميع إدخالات تخطي التحقق.

-?

يقوم بعرض بناء جملة الأمر والخيارات للأداة.

ملاحظة

كافة خيارات Sn.exe حساسة لحالة الأحرف و يجب أن تكتب بالضبط كما هو موضح لتعريفه بواسطة الأداة.

 

ملاحظات

تعتبر الخيارات -R و –Rc مفيدة مع التجميعات التي تم تأخير توقيعها, ففي هذا السيناريو قد تم تعيين المفتاح العام فقط في وقت التحويل البرمجي ثم تم تنفيذ التوقيع لاحقاً عندما تتم معرفة المفتاح الخاص.

 أمثلة

يقوم الأمر التالي بإنشاء زوج مفاتيح عشوائية و جديدة ثم يخزنها في keyPair.snk.

 

sn -k keyPair.snk

يقوم الأمر التالي بتخزين المفتاح في keyPair.snk في الحاوية MyContainer في الاسم القوي لموفر خدمة التشفير (CSP).

sn -i keyPair.snk MyContainer

يقوم الأمر التالي باستخراج المفتاح العام من keyPair.snk ثم تخزينه في publicKey.snk.

sn -p keyPair.snk publicKey.snk

يقوم الأمر التالي بعرض المفتاح العام و الرمز المميز للمفتاح العام الموجود في publicKey.snk.

sn -tp publicKey.snk

يقوم الأمر التالي بالتحقق من التجميع MyAsm.dll.

sn -v MyAsm.dll

يقوم الأمر التالي بحذف MyContainer من موفر خدمة التشفير (CSP) الافتراضي.

sn -d MyContainer

 راجع أيضًا:

المرجع

Al.exeرابط التجميع

موجه أوامر Visual Studio.

المبادئ

التجميعات المسماة قوية

موارد أخرى

أدوات .NET Framework