.\" .\" sn manual page. .\" Copyright 2003 Motus Technologies .\" Copyright (C) 2004-2005 Novell, Inc (http://www.novell.com) .\" Author: .\" Sebastien Pouliot .\" .TH Mono "sn" .SH "نام (NAME)" sn \- امضای دیجیتال، اعتبارسنجی و مقایسه نام‌های قوی (strongname) در اسمبلی‌های CLR. .SH "خلاصه دستور (SYNOPSIS)" .PP .B sn [-q | -quiet] [options] [parameters] .SH "توضیحات (DESCRIPTION)" امضای دیجیتال، اعتبارسنجی یا مقایسه اسمبلی‌های CLR با استفاده از نام‌های قوی (strongname). .PP می‌توانید از دستور sn برای ایجاد «فایل‌های snk» با استفاده از گزینه \-k که در ادامه توضیح داده شده است، استفاده کنید. .SH "گزینه‌های پیکربندی (CONFIGURATION OPTIONS)" گزینه‌های پیکربندی در فایل پیکربندی machine.config زیر مسیر /configuration/strongNames ذخیره می‌شوند. .TP .I "-c provider" تغییر CSP (ارائه‌دهنده خدمات رمزنگاری) پیش‌فرض. در حال حاضر در Mono پشتیبانی نمی‌شود. .TP .I "-m [y|n]" استفاده از مخزن کلید سیستمی [y] یا مخزن کلید کاربری [n]. در حال حاضر در Mono پشتیبانی نمی‌شود. .TP .I "-Vl" فهرست کردن گزینه‌های اعتبارسنجی. این فهرست در machine.config زیر مسیر /configuration/strongNames/verificationSettings نگه‌داری می‌شود. .TP .I "-Vr assembly [userlist]" معاف کردن اسمبلی مشخص‌شده از اعتبارسنجی برای فهرست کاربران مشخص‌شده. در حال حاضر توسط sn پشتیبانی نمی‌شود. اگر به این قابلیت نیاز دارید، باید machine.config را به‌طور دستی ویرایش کنید. .TP .I "-Vu assembly" حذف مدخل معافیت برای اسمبلی مشخص‌شده. در حال حاضر توسط sn پشتیبانی نمی‌شود؛ در صورت نیاز به این قابلیت، باید machine.config را به‌طور دستی ویرایش کنید. .TP .I "-Vx" حذف تمام مدخل‌های معافیت. در حال حاضر توسط sn پشتیبانی نمی‌شود؛ در صورت نیاز به این قابلیت، باید machine.config را به‌طور دستی ویرایش کنید. .SH "گزینه‌های مربوط به CSP (CSP RELATED OPTIONS)" .TP .I "-d container" حذف جفت‌کلید موجود در مخزن کلید مشخص‌شده. .TP .I "-i keypair.snk container" وارد کردن فایل نام قوی مشخص‌شده به مخزن کلید مشخص‌شده. .TP .I "-pc container publickey" صادر کردن کلید عمومی از مخزن CSP مشخص‌شده به فایل مشخص‌شده. .SH "گزینه‌های تبدیل (CONVERSION OPTIONS)" .TP .I "-e assembly output.pub" صادر کردن کلید عمومی اسمبلی به فایل خروجی مشخص‌شده. .TP .I "-p keypair.snk output.pub" صادر کردن کلید عمومی از فایل کلید نام قوی (SNK) مشخص‌شده یا از یک فایل محافظت‌شده با گذرواژه PKCS#12/PFX به فایل خروجی مشخص‌شده. .TP .I "-o input output.txt" تبدیل فایل ورودی به یک فایل CSV (با استفاده از اعداد ده‌دهی). .TP .I "-oh input output.txt" تبدیل فایل ورودی به یک فایل CSV (با استفاده از اعداد شانزده‌شانزدهی). .SH "گزینه‌های امضای نام قوی (STRONGNAME SIGNING OPTIONS)" .TP .I "-D assembly1 assembly2" مقایسه اینکه آیا assembly1 و assembly2 به جز در امضایشان یکسان هستند یا خیر. این کار با مقایسه هش متادیتای هر دو اسمبلی انجام می‌شود. .TP .I "-k [size] keypair.snk" ایجاد یک جفت‌کلید نام قوی جدید در فایل مشخص‌شده. طول پیش‌فرض کلید ۱۰۲۴ بیت است و هنگام امضای اسمبلی‌های 1.x همواره باید استفاده شود. هر مقداری از ۳۸۴ تا ۱۶۳۸۴ بیت (با گام‌های ۸ بیتی) یک طول کلید معتبر برای امضای اسمبلی‌های 2.x است. برای اطمینان از بیشترین سازگاری، ممکن است بخواهید به استفاده از کلیدهای ۱۰۲۴ بیتی ادامه دهید. توجه داشته باشید که حتی در صورت امکان‌پذیر بودن، هیچ دلیل موجهی برای استفاده از طول کمتر از ۱۰۲۴ بیت وجود ندارد. .TP .I "-R assembly keypair.snk" امضای مجدد اسمبلی مشخص‌شده با استفاده از فایل جفت‌کلید نام قوی (SNK) مشخص‌شده یا یک فایل محافظت‌شده با گذرواژه PKCS#12/PFX. شما تنها می‌توانید یک اسمبلی را با کلید خصوصی متناظر با کلید عمومی درون اسمبلی امضا کنید (مگر اینکه توکن کلید عمومی آن در machine.config بازنگاشت شده باشد). .TP .I "-Rc assembly container" امضای مجدد اسمبلی مشخص‌شده با استفاده از مخزن نام قوی مشخص‌شده. .TP .I "-t file" نمایش توکن کلید عمومی از فایل مشخص‌شده. .TP .I "-tp file" نمایش کلید عمومی و توکن کلید عمومی از فایل مشخص‌شده. .TP .I "-T assembly" نمایش توکن کلید عمومی از اسمبلی مشخص‌شده. .TP .I "-Tp assembly" نمایش کلید عمومی و توکن کلید عمومی از اسمبلی مشخص‌شده. .TP .I "-v assembly" اعتبارسنجی امضای اسمبلی مشخص‌شده. .TP .I "-vf assembly" اعتبارسنجی امضای اسمبلی مشخص‌شده (حتی در صورت غیرفعال بودن). .SH "گزینه‌های راهنما (HELP OPTIONS)" .TP .I "-h", "-?" نمایش راهنمای پایه درباره این ابزار. .TP .I "-h config", "-? config" نمایش راهنمای مربوط به پیکربندی درباره این ابزار. .TP .I "-h csp", "-? csp" نمایش راهنمای مربوط به ارائه‌دهنده خدمات رمزنگاری (CSP) درباره این ابزار. .TP .I "-h convert", "-? convert" نمایش راهنمای مربوط به تبدیل درباره این ابزار. .TP .I "-h sn", "-? sn" نمایش راهنمای مربوط به نام قوی (strongname) درباره این ابزار. .SH "فایل پیکربندی (CONFIGURATION FILE)" .TP پیکربندی نام‌های قوی در فایل "machine.config" نگه‌داری می‌شود. در حال حاضر دو قابلیت را می‌توان پیکربندی کرد. .TP .I "/configuration/strongNames/pubTokenMapping" این سازوکار به Mono امکان می‌دهد تا یک توکن کلید عمومی، مانند توکن ECMA را برای اعتبارسنجی به کلید عمومی دیگری بازنگاشت کند. این قابلیت در دو سناریو مفید است. نخست، اسمبلی‌های امضاشده با «کلید ECMA» باید توسط کلید «زمان اجرا» (runtime) اعتبارسنجی شوند (زیرا کلید ECMA یک کلید عمومی نیست). دوم، بسیاری از اسمبلی‌ها با کلیدهای خصوصی امضا شده‌اند که Mono نمی‌تواند از آن‌ها استفاده کند (برای نمونه اسمبلی System.Security.dll). نمی‌توان از کلید جدیدی استفاده کرد زیرا نام قوی را تغییر می‌دهد (یک جفت‌کلید جدید دارای کلید عمومی جدیدی خواهد بود که توکن جدیدی تولید می‌کند). بازنگاشت توکن کلید عمومی راه‌حلی برای هر دو مسئله است. هر توکن باید در یک مدخل "map" شبیه به این نمونه پیکربندی شود: .TP .I "/configuration/strongNames/verificationSettings" اغلب در طول فرایند توسعه، استفاده از اسمبلی‌های امضاشده با تأخیر (delay-signed) مفید است. در حالت عادی* زمان اجرا اجازه بارگذاری اسمبلی‌های delay-signed را نمی‌دهد. این قابلیت به برخی از اسمبلی‌های delay-signed (بر اساس توکن کلید عمومی‌شان، و در صورت نیاز نام اسمبلی و نام کاربری) اجازه می‌دهد به گونه‌ای استفاده شوند که گویی اسمبلی‌هایی کاملاً امضاشده هستند. [*] توجه داشته باشید که زمان اجرای Mono 1.0 امضاهای نام قوی را اعتبارسنجی نمی‌کند، بنابراین در اکثر سناریوها به این گزینه نیازی نخواهد بود. .SH "نویسندگان (AUTHORS)" نگاشته شده توسط Sebastien Pouliot. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" Copyright (C) 2003 Motus Technologies. .br Copyright (C) 2004 Novell. .br تحت مجوز BSD منتشر شده است. .SH "فهرست‌های پستی (MAILING LISTS)" برای جزئیات بیشتر به http://lists.ximian.com/mailman/listinfo/mono-list مراجعه کنید. .SH "وب‌گاه (WEB SITE)" برای جزئیات بیشتر به http://www.mono-project.com مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" .BR secutil(1)