'\" t .\" Title: sc-hsm-tool .\" Author: [see the "Authors" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 06/02/2026 .\" Manual: OpenSC Tools .\" Source: opensc .\" Language: English .\" .TH "SC\-HSM\-TOOL" "1" "06/02/2026" "opensc" "OpenSC Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" sc-hsm-tool \- ابزار کارت هوشمند برای SmartCard\-HSM .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBsc\-hsm\-tool\fR\ 'u \fBsc\-hsm\-tool\fR [\fIگزینه‌ها\fR] .SH "توضیحات (DESCRIPTION)" .PP ابزار \fBsc\-hsm\-tool\fR می‌تواند از طریق خط فرمان برای انجام وظایف نگهداری پیشرفته‌ای که از طریق PKCS#11 یا سایر ابزارهای بسته OpenSC در دسترس نیستند، استفاده شود\&. این ابزار می‌تواند برای استعلام وضعیت یک SmartCard\-HSM، مقداردهی اولیه دستگاه، تولید و وارد کردن سهم‌های کلید رمزگذاری کلید دستگاه (DKEK)، و بسته‌بندی (wrap) و باز کردن (unwrap) کلیدها استفاده شود\&. .SH "گزینه‌ها (OPTIONS)" .PP .PP \fB\-\-initialize\fR, \fB\-X\fR .RS 4 مقداردهی اولیه توکن، حذف تمامی کلیدها، گواهی‌ها و فایل‌های موجود\&. .sp برای تعریف SO\-PIN در اولین مقداردهی اولیه یا برای اعتبارسنجی در مقداردهی‌های اولیه بعدی از \fB\-\-so\-pin\fR استفاده کنید\&. .sp برای تعریف مقدار PIN اولیه کاربر از \fB\-\-pin\fR استفاده کنید\&. .sp برای تعریف حداکثر تعداد دفعات تلاش مجاز برای ورود PIN کاربر از \fB\-\-pin\-retry\fR استفاده کنید\&. .sp همراه با \fB\-\-dkek\-shares\fR برای فعال‌سازی wrap / unwrap کلید استفاده کنید\&. .sp همراه با \fB\-\-label\fR برای تعریف برچسب توکن استفاده کنید\&. .sp همراه با \fB\-\-public\-key\-auth\fR و \fB\-\-required\-pub\-keys\fR برای الزامی کردن احراز هویت کلید عمومی جهت ورود استفاده کنید\&. .RE .PP \fB\-\-create\-dkek\-share\fR \fIfilename\fR, \fB\-C\fR \fIfilename\fR .RS 4 ایجاد یک سهم DKEK رمزگذاری‌شده با گذرواژه و ذخیره آن در فایلی که به عنوان پارامتر داده شده است\&. .sp برای ارائه گذرواژه جهت رمزگذاری به جای درخواست تعاملی آن از \fB\-\-password\fR استفاده کنید\&. .sp برای تولید تصادفی یک گذرواژه و تقسیم آن با طرح آستانه (t, n) از \fB\-\-pwd\-shares\-threshold\fR و \fB\-\-pwd\-shares\-total\fR استفاده کنید\&. .RE .PP \fB\-\-import\-dkek\-share\fR \fIfilename\fR, \fB\-I\fR \fIfilename\fR .RS 4 درخواست گذرواژه کاربر، خواندن و رمزگشایی سهم DKEK و وارد کردن آن به SmartCard\-HSM\&. .sp برای ارائه گذرواژه جهت رمزگشایی به جای درخواست تعاملی آن از \fB\-\-password\fR استفاده کنید\&. .sp برای تعیین تعداد سهم‌هایی که باید برای بازسازی گذرواژه وارد شوند از \fB\-\-pwd\-shares\-total\fR استفاده کنید\&. .RE .PP \fB\-\-wrap\-key\fR \fIfilename\fR, \fB\-W\fR \fIfilename\fR .RS 4 بسته‌بندی (wrap) کلید ارجاع‌داده‌شده در \fB\-\-key\-reference\fR و ذخیره آن همراه با توضیحات کلید و گواهی در فایل داده‌شده\&. .sp برای ارائه PIN کاربر در خط فرمان از \fB\-\-pin\fR استفاده کنید\&. .RE .PP \fB\-\-unwrap\-key\fR \fIfilename\fR, \fB\-U\fR \fIfilename\fR .RS 4 خواندن کلید بسته‌بندی‌شده، توضیحات و گواهی از فایل و وارد کردن آن به SmartCard\-HSM تحت مرجع کلید داده‌شده در \fB\-\-key\-reference\fR\&. .sp مرجع کلید را با استفاده از خروجی \fBpkcs15\-tool \-D\fR تعیین کنید\&. .sp برای ارائه PIN کاربر در خط فرمان از \fB\-\-pin\fR استفاده کنید\&. .sp برای حذف اجباری هر کلید، توضیحات کلید یا گواهی مانع از \fB\-\-force\fR استفاده کنید\&. .RE .PP \fB\-\-dkek\-shares\fR \fInumber\-of\-shares\fR, \fB\-s\fR \fInumber\-of\-shares\fR .RS 4 تعیین تعداد سهم‌های DKEK برای بازسازی DKEK\&. .sp این یک پارامتر اختیاری است\&. استفاده از \fB\-\-initialize\fR بدون \fB\-\-dkek\-shares\fR باعث غیرفعال شدن کامل DKEK خواهد شد\&. .sp استفاده از \fB\-\-dkek\-shares\fR با مقدار ۰ سهم، از SmartCard\-HSM درخواست تولید یک DKEK تصادفی می‌کند\&. کلیدهای بسته‌بندی‌شده با این DKEK فقط در همان SmartCard\-HSM قابل باز شدن (unwrap) خواهند بود\&. .sp پس از استفاده از \fB\-\-initialize\fR با یک یا چند سهم DKEK، دستگاه SmartCard\-HSM در وضعیت مقداردهی‌شده باقی می‌ماند تا زمانی که همه سهم‌های DKEK وارد شوند\&. در طول این مرحله نمی‌توان کلیدهای جدیدی تولید یا وارد کرد\&. .RE .PP \fB\-\-pin\fR \fIpin\fR, \fB\-\-so\-pin\fR \fIsopin\fR, .RS 4 این گزینه‌ها می‌توانند برای مشخص کردن مقادیر PIN در خط فرمان استفاده شوند\&. اگر مقدار روی env:\fIVARIABLE\fR تنظیم شود، مقدار متغیر محیطی مشخص‌شده استفاده می‌شود\&. به‌طور پیش‌فرض، در صورت نیاز کد در خط فرمان درخواست می‌شود\&. .sp توجه داشته باشید که در بیشتر سیستم‌عامل‌ها، هر کاربری می‌تواند خط فرمان هر فرآیندی را در سیستم با ابزارهایی مانند \fBps(1)\fR مشاهده کند\&. بنابراین، در یک سیستم ناامن باید ارسال کدها از طریق یک متغیر محیطی را ترجیح دهید\&. .RE .PP \fB\-\-pin\-retry\fR \fIvalue\fR .RS 4 تعیین تعداد دفعات تلاش مجاز برای PIN کاربر در هنگام مقداردهی اولیه\&. پیش‌فرض ۳ است\&. .RE .PP \fB\-\-bio\-server1\fR \fIvalue\fR .RS 4 مقدار هگزادسیمال AID کارساز بیومتریک برای الگوی ۱\&. استفاده از PIN کاربر را به عنوان PIN نشست فعال می‌کند\&. .RE .PP \fB\-\-bio\-server2\fR \fIvalue\fR .RS 4 مقدار هگزادسیمال AID کارساز بیومتریک برای الگوی ۲\&. استفاده از PIN کاربر را به عنوان PIN نشست فعال می‌کند\&. .RE .PP \fB\-\-password\fR \fIvalue\fR .RS 4 تعیین گذرواژه برای رمزگذاری سهم DKEK\&. اگر روی env:\fIVARIABLE\fR تنظیم شود، مقدار متغیر محیطی \fIVARIABLE\fR استفاده می‌شود\&. .RE .PP \fB\-\-pwd\-shares\-threshold\fR \fIvalue\fR .RS 4 تعیین حد آستانه تعداد سهم‌های گذرواژه مورد نیاز برای بازسازی\&. .RE .PP \fB\-\-pwd\-shares\-total\fR \fIvalue\fR .RS 4 تعیین تعداد سهم‌های گذرواژه\&. .RE .PP \fB\-\-force\fR .RS 4 اجبار به حذف کلید، توضیحات و گواهی موجود\&. .RE .PP \fB\-\-label\fR \fIlabel\fR, \fB\-l\fR \fIlabel\fR .RS 4 تعیین برچسب توکن برای استفاده در \-\-initialize\&. .RE .PP \fB\-\-reader\fR \fIarg\fR, \fB\-r\fR \fIarg\fR .RS 4 شماره کارت‌خوان مورد استفاده\&. به‌طور پیش‌فرض، اولین کارت‌خوانی که کارت در آن قرار دارد استفاده می‌شود\&. اگر \fIarg\fR یک ATR باشد، کارت‌خوان با کارت منطبق انتخاب خواهد شد\&. .RE .PP \fB\-\-public\-key\-auth\fR \fItotal\-number\-of\-public\-keys\fR, \fB\-K\fR \fItotal\-number\-of\-public\-keys\fR .RS 4 تعیین تعداد کل کلیدهای عمومی مورد استفاده برای احراز هویت کلید عمومی هنگام استفاده از \fB\-\-initialize\fR\&. گزینه \fB\-\-public\-key\-auth\fR اختیاری است، اما در صورت وجود باید همراه با \fB\-\-required\-pub\-keys\fR استفاده شود\&. .sp هنگامی که SmartCard\-HSM با این گزینه‌ها مقداردهی اولیه شود، نیاز به احراز هویت کلید عمومی M از N خواهد داشت، که در آن \fB\-\-required\-pub\-keys\fR مقدار M و \fB\-\-public\-key\-auth\fR مقدار N را تعیین می‌کند\&. پس از مقداردهی اولیه، کاربر باید از \fB\-\-register\-public\-key\fR برای ثبت N کلید عمومی پیش از امکان استفاده از SmartCard\-HSM استفاده کند\&. .RE .PP \fB\-\-required\-pub\-keys\fR \fIrequired\-number\-of\-public\-keys\fR, \fB\-n\fR \fIrequired\-number\-of\-public\-keys\fR .RS 4 تعیین تعداد کلیدهای عمومی مورد نیاز برای احراز هویت کلید عمومی هنگام استفاده از \fB\-\-initialize\fR\&. این مقدار M در احراز هویت کلید عمومی M از N است\&. برای اطلاعات بیشتر \fB\-\-public\-key\-auth\fR را ببینید\&. .RE .PP \fB\-\-register\-public\-key\fR \fIinput\-public\-key\-file\fR, \fB\-g\fR \fIinput\-public\-key\-file\fR .RS 4 ثبت یک کلید عمومی برای استفاده در احراز هویت کلید عمومی M از N\&. فایل می‌تواند با استفاده از \fB\-\-export\-for\-pub\-key\-auth\fR از یک SmartCard\-HSM دیگر استخراج شده باشد\&. این گزینه فقط زمانی قابل استفاده است که SmartCard\-HSM با \fB\-\-public\-key\-auth\fR و \fB\-\-required\-pub\-keys\fR مقداردهی اولیه شده باشد و کمتر از N کلید عمومی ثبت شده باشد\&. برای بررسی اینکه چند کلید عمومی ثبت شده است، از \fB\-\-public\-key\-auth\-status\fR استفاده کنید\&. .RE .PP \fB\-\-export\-for\-pub\-key\-auth\fR \fIoutput\-public\-key\-file\fR, \fB\-e\fR \fIoutput\-public\-key\-file\fR .RS 4 صدور یک کلید عمومی برای استفاده در احراز هویت کلید عمومی M از N\&. این گزینه باید همراه با \fB\-\-key\-reference\fR برای انتخاب کلید جهت صدور استفاده شود\&. فایل باید با استفاده از \fB\-\-register\-public\-key\fR روی یک SmartCard\-HSM دیگر ثبت شود\&. .RE .PP \fB\-\-public\-key\-auth\-status\fR \fB\-S\fR .RS 4 چاپ وضعیت احراز هویت کلید عمومی\&. این فقط در صورتی معتبر است که SmartCard\-HSM برای استفاده از احراز هویت کلید عمومی M از N مقداردهی اولیه شده باشد\&. .RE .PP \fB\-\-wait\fR, \fB\-w\fR .RS 4 انتظار برای وارد شدن کارت .RE .PP \fB\-\-verbose\fR, \fB\-v\fR .RS 4 موجب افزایش جزئیات خروجی \fBsc\-hsm\-tool\fR می‌شود\&. این فلگ را چندین بار مشخص کنید تا خروجی اشکال‌زدایی در کتابخانه opensc فعال شود\&. .RE .SH "مثال‌ها (EXAMPLES)" .PP ایجاد یک سهم DKEK: .PP \fBsc\-hsm\-tool \-\-create\-dkek\-share dkek\-share\-1\&.pbe\fR .PP ایجاد یک سهم DKEK با گذرواژه تصادفی تقسیم‌شده با استفاده از طرح آستانه (3, 5): .PP \fBsc\-hsm\-tool \-\-create\-dkek\-share dkek\-share\-1\&.pbe \-\-pwd\-shares\-threshold 3 \-\-pwd\-shares\-total 5\fR .PP مقداردهی اولیه SmartCard\-HSM برای استفاده از یک سهم DKEK تکی: .PP \fBsc\-hsm\-tool \-\-initialize \-\-so\-pin 3537363231383830 \-\-pin 648219 \-\-dkek\-shares 1 \-\-label mytoken\fR .PP وارد کردن سهم DKEK: .PP \fBsc\-hsm\-tool \-\-import\-dkek\-share dkek\-share\-1\&.pbe\fR .PP وارد کردن سهم DKEK با استفاده از گذرواژه تقسیم‌شده با طرح آستانه (3, 5) برای رمزگذاری: .PP \fBsc\-hsm\-tool \-\-import\-dkek\-share dkek\-share\-1\&.pbe \-\-pwd\-shares\-total 3\fR .PP بسته‌بندی (wrap) کلید ارجاع‌داده‌شده، توضیحات و گواهی: .PP \fBsc\-hsm\-tool \-\-wrap\-key wrap\-key\&.bin \-\-key\-reference 1 \-\-pin 648219\fR .PP باز کردن (unwrap) کلید در همان یا یک SmartCard\-HSM دیگر با همان DKEK: .PP \fBsc\-hsm\-tool \-\-unwrap\-key wrap\-key\&.bin \-\-key\-reference 10 \-\-pin 648219 \-\-force\fR .PP مقداردهی اولیه SmartCard\-HSM برای استفاده از احراز هویت کلید عمومی M از N با M=2 و N=5: .PP \fBsc\-hsm\-tool \-\-initialize \-\-required\-pub\-keys 2 \-\-public\-key\-auth 5\fR .PP صدور یک کلید عمومی برای احراز هویت کلید عمومی M از N به یک فایل: .PP \fBsc\-hsm\-tool \-\-key\-reference 1 \-\-export\-for\-pub\-key\-auth \&./public_key1\&.asn1\fR .PP ثبت یک کلید عمومی برای احراز هویت کلید عمومی M از N از یک فایل: .PP \fBsc\-hsm\-tool \-\-register\-public\-key \&./public_key1\&.asn1\fR .SH "همچنین ببینید (SEE ALSO)" .PP \fBopensc-tool\fR(1) .SH "نویسندگان (AUTHORS)" .PP \fBsc\-hsm\-tool\fR توسط Andreas Schwier نوشته شده است\&.