SOFTHSM2-UTIL(1) General Commands Manual SOFTHSM2-UTIL(1)

softhsm2-util - ابزار کمکی برای libsofthsm2

softhsm2-util --show-slots

softhsm2-util --show-config var

softhsm2-util --init-token --free --label text \ [--so-pin PIN --pin PIN]

softhsm2-util --import path [--import-type type] \ [--file-pin PIN] --token label [--pin PIN] [--no-public-key] \ --label text --id hex [--pin PIN] --label text --id hex

softhsm2-util --delete-token --token text

softhsm2-util یک ابزار کمکی عمدتاً برای libsofthsm2 است. همچنین با استفاده از گزینهٔ --module می‌توان از آن به همراه سایر کتابخانه‌های PKCS#11 نیز استفاده کرد.

بخش‌های زیر را برای کسب اطلاعات بیشتر دربارهٔ libsofthsm2 و PKCS#11 بخوانید. بیشتر برنامه‌ها فرض می‌کنند توکنی که می‌خواهند استفاده کنند از قبل مقداردهی اولیه (initialized) شده است. بنابراین مقداردهی اولیهٔ توکن PKCS#11 بر عهدهٔ کاربر است. این کار با استفاده از رابط PKCS#11 انجام می‌شود، اما به‌جای نوشتن ابزار اختصاصی خود می‌توانید از ابزار softhsm2-util استفاده کنید.

کلیدها معمولاً مستقیماً درون توکن ایجاد می‌شوند، اما ممکن است کاربر بخواهد از یک جفت‌کلید موجود استفاده کند. کلیدها را می‌توان با استفاده از رابط PKCS#11 به یک توکن وارد کرد، اما در صورتی که کاربر جفت‌کلید را درون یک فایل PKCS#8 داشته باشد نیز می‌توان از این ابزار استفاده نمود. اگر نیاز دارید کلیدها را از قالب ‎.private-key مربوط به BIND به PKCS#8 تبدیل کنید، می‌توانید از softhsm2-keyconv استفاده کنید.

کتابخانهٔ libsofthsm2، که با نام SoftHSM شناخته می‌شود، قابلیت‌های رمزنگاری را با استفاده از API مربوط به PKCS#11 ارائه می‌دهد. این کتابخانه به عنوان بخشی از پروژهٔ OpenDNSSEC توسعه یافته و بنابراین برای برآورده ساختن نیازمندی‌های OpenDNSSEC طراحی شده است، اما می‌تواند با سایر نرم‌افزارهایی که مایل به استفاده از قابلیت‌های API مربوط به PKCS#11 هستند نیز کار کند.

ابزار SoftHSM یک پیاده‌سازی نرم‌افزاری از یک دستگاه رمزنگاری عمومی با رابط PKCS#11 است. این دستگاه‌ها اغلب توکن نامیده می‌شوند. برای چگونگی ایجاد این توکن‌ها و نحوهٔ افزودن آن‌ها به یک اسلات (slot) در SoftHSM، صفحهٔ راهنمای softhsm2.conf(5) را بخوانید.

رابط برنامه‌نویسی PKCS#11 می‌تواند برای مدیریت و ذخیره‌سازی کلیدهای رمزنگاری به کار رود. این رابط مشخص می‌کند که چگونه با دستگاه‌های رمزنگاری مانند HSMها (ماژول‌های امنیت سخت‌افزاری) و کارت‌های هوشمند ارتباط برقرار شود. هدف این دستگاه‌ها، در میان موارد دیگر، تولید کلیدهای رمزنگاری و امضای اطلاعات بدون افشای محتوای کلید خصوصی به دنیای بیرون است. آن‌ها اغلب به گونه‌ای طراحی شده‌اند که این وظایف مشخص را در مقایسه با فرایندهای معمولی در یک رایانهٔ استاندارد با کارایی بالاتری انجام دهند.

حذف توکن در یک اسلات مشخص. همراه با --token یا --serial استفاده شود. تمام محتویات درون توکن پاک خواهد شد.
نمایش اطلاعات راهنما.
وارد کردن یک شیء از path مشخص‌شده.
همراه با --import-type، --slot یا --token یا --serial، --file-pin، --pin، --no-public-key، --label و --id استفاده شود.
مقداردهی اولیهٔ توکن در یک اسلات، برچسب توکن یا شماره سریال توکنِ مشخص‌شده. اگر توکن از قبل مقداردهی اولیه شده باشد، این دستور آن را مجدداً راه‌اندازی کرده و در نتیجه تمام اشیاء درون توکن را پاک می‌کند. هنگام راه‌اندازی اولیهٔ مجدد، پین منطبقِ مأمور امنیت (Security Officer یا SO) نیز باید ارائه شود. توکن‌های مقداردهی‌شده به اسلات دیگری اختصاص خواهند یافت (بر اساس شماره سریال توکن).
همراه با --slot یا --token یا --serial یا --free، --label، --so-pin و --pin استفاده شود.
نمایش تمام اسلات‌های موجود و وضعیت فعلی آن‌ها.
نمایش اطلاعات پیکربندی؛ var می‌تواند یکی از موارد زیر باشد:
چاپ کتابخانهٔ پیش‌فرض PKCS#11.
نمایش اطلاعات نسخه.

نوع شیء وارداتی؛ type می‌تواند یکی از موارد زیر باشد:
فایل باید در قالب PKCS#8 PEM باشد.
فایل باید در قالب باینری باشد.
فایل باید در قالب X509 PEM باشد.
برای آگاه‌سازی دستور وارد کردن جهت استفاده از فایل به همان صورتی که هست و وارد کردن آن به عنوان AES به کار می‌رود. منسوخ شده است؛ به‌جای آن از --import-type aes استفاده کنید.
مقدار PIN برای رمزگشایی فایل PKCS#8 استفاده خواهد شد. در صورت عدم ارائه، فرض می‌شود که فایل PKCS#8 رمزگذاری نشده است.
استفاده از این گزینه برای نادیده گرفتن هشدارها و اجبار در انجام عملیات داده‌شده.
استفاده از اولین توکنِ آزاد/مقداردهی‌نشده.
انتخاب یک شناسه (ID) برای جفت‌کلید. شناسه در مبنای شانزده (هگزادسیمال) و با طول متغیر است. در صورتی که شناسه از قبل وجود داشته باشد، هنگام وارد کردن جفت‌کلید همراه با --force استفاده شود.
مشخص‌کنندهٔ label (برچسب) شیء یا توکنی است که تنظیم خواهد شد.
استفاده از کتابخانهٔ PKCS#11 دیگری به‌جز SoftHSM.
کلید عمومی وارد نشود.
مقدار PIN برای کاربر عادی.
از توکنی با شماره سریال منطبق استفاده خواهد کرد.
اسلاتی که توکن در آن قرار دارد.
مقدار PIN برای مأمور امنیت (Security Officer یا SO).
از توکنی با برچسب توکن منطبق استفاده خواهد کرد.

توکن را می‌توان با استفاده از این دستور مقداردهی اولیه کرد:

softhsm2-util --init-token --slot 1 --label "mytoken"

یک جفت‌کلید را می‌توان با ابزار softhsm وارد کرد، به طوری که مسیر فایل کلید، شماره اسلات، برچسب و شناسهٔ اشیاء جدید و همچنین پین کاربر را مشخص نمایید. فایل باید در قالب PKCS#8 باشد.

softhsm2-util --import key1.pem --token "mytoken" --label "My key" \
--id A1B2 --pin 123456
(اگر فایل کلید رمزگذاری شده است، --file-pin PIN را اضافه کنید.)

نوشته‌شده توسط Rickard Bellgrim، Francis Dupont، René Post و Roland van Rijswijk.

softhsm2-keyconv(1), softhsm2-migrate(1), softhsm2.conf(5)

22 September 2017 SoftHSM