| tpm2_selftest(1) | General Commands Manual | tpm2_selftest(1) |
نام (NAME)
tpm2_selftest - اجرای روالهای داخلی خودآزمایی در TPM
خلاصه دستور (SYNOPSIS)
tpm2_selftest [OPTIONS]
توضیحات (DESCRIPTION)
دستور tpm2_selftest(1) باعث میشود TPM خودآزمایی قابلیتهای خود را اجرا کند.
خودآزمایی میتواند در دو حالت اجرا شود:
- •
- آزمایش ساده (Simple test) - TPM توابعی را که نیاز به آزمایش دارند بررسی میکند
- •
- آزمایش کامل (Full test) - TPM تمام توابع را بدون در نظر گرفتن اینکه قبلاً آزمایش شدهاند بررسی میکند
به محض اینکه TPM این درخواست را دریافت کند، برای هر دستوری که نیاز به آزمایش دارد مقدار TPM_RC_TESTING را برمیگرداند. اگر آزمایشی ناموفق باشد، TPM در این مدت برای هر دستوری غیر از TPM2_GetTestResult() و TPM2_GetCapability() مقدار TPM_RC_FAILURE را برمیگرداند. TPM تا راهاندازی اولیه بعدی TPM در وضعیت خطا باقی خواهد ماند.
گزینهها (OPTIONS)
- •
- -f، --fulltest: اجرای خودآزمایی در حالت کامل
مراجع (References)
گزینههای عمومی (COMMON OPTIONS)
این مجموعه از گزینهها میان بسیاری از برنامهها مشترک بوده و اطلاعاتی را ارائه میدهند که ممکن است بسیاری از کاربران انتظار داشته باشند.
- •
- -h، --help=[man|no-man]: نمایش صفحه راهنمای (manpage) ابزار. بهطور پیشفرض، تلاش میکند صفحهبند راهنما (manpager) را برای این ابزار فراخوانی کند، اما در صورت عدم موفقیت، خلاصه کوتاهی از ابزار را نمایش میدهد. این رفتار مشابه زمانی است که آرگومان گزینه “man” مشخص شده باشد، با این حال اگر صراحتاً “man” درخواست شود، ابزار خطاهای man را در stderr ارائه میدهد. اگر گزینه “no-man” مشخص شود، یا فراخوانی صفحهبند man با شکست مواجه شود، گزینههای کوتاه در stdout چاپ خواهند شد.
استفاده موفقیتآمیز از ویژگی صفحات راهنما مستلزم این است که صفحات راهنما نصب شده باشند یا در MANPATH موجود باشند؛ برای جزئیات بیشتر man(1) را ببینید.
- •
- -v، --version: نمایش اطلاعات نسخه این ابزار، TCTIهای پشتیبانیشده و خروج.
- •
- -V، --verbose: افزایش اطلاعاتی که ابزار در حین اجرا در کنسول چاپ میکند. هنگام استفاده از این گزینه، نام فایل و شماره خط چاپ میشوند.
- •
- -Q، --quiet: بیصدا کردن خروجی عادی ابزار به stdout.
- •
- -Z، --enable-errata: فعالسازی اعمال اصلاحات غلطنامه (errata fixups). زمانی مفید است که نیاز باشد یک اصلاحیه غلطنامه بر دستورهای ارسالی به TPM اعمال شود. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA معادل همین عمل است.
- •
- -z، --pwd-session: استفاده از نشست رمزعبور (password session) به جای نشست HMAC برای احراز هویت. یک رمزعبور متنآشکار (clear text) برای مجاز کردن عملیات به TPM ارسال میشود. این گزینه میتواند برای جلوگیری از بروز مشکلات در زمان استفاده از نشستهای بدون نمک (unsalted) در حالت OpenSSL FIPS استفاده شود. اگر مقادیر auth استفاده شوند، برای احراز هویت باید از نشست نمکدار (salted session) استفاده شود.
- •
- -R، --autoflush: فعالسازی تخلیه خودکار (autoflush) برای اشیاء گذرا (transient objects) ایجادشده توسط دستور. اگر یک شیء والد از یک فایل زمینه (context file) بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد. همچنین اگر متغیر محیطی TPM2TOOLS_AUTOFLUSH برابر yes یا true تنظیم شده باشد، تخلیه خودکار فعال میشود.
پیکربندی TCTI (TCTI CONFIGURATION)
رابط TCTI یا “Transmission Interface” سازوکار ارتباط با TPM است. TCTIها را میتوان برای برقراری ارتباط با TPMها در بسترهای مختلف تغییر داد.
برای کنترل TCTI، ابزارها موارد زیر را در نظر میگیرند:
- 1.
- گزینه خط فرمان -T یا --tcti
- 2.
- متغیر محیطی: TPM2TOOLS_TCTI.
نکته: گزینه خط فرمان همواره متغیر محیطی را بازنویسی کرده و بر آن اولویت دارد.
TCTIهای شناختهشده فعلی عبارتند از:
- •
- tabrmd - مدیر منابع، موسوم به tabrmd. توجه داشته باشید که tabrmd و abrmd به عنوان نام tcti مترادف هستند.
- •
- mssim - معمولاً برای ارتباط با شبیهساز نرمافزاری TPM استفاده میشود.
- •
- device - زمانی که مستقیماً با یک فایل دستگاه TPM ارتباط برقرار میشود استفاده میگردد.
- •
- none - هیچ اتصالی با TPM برقرار نمیکند. برخی از ابزارها گزینههای خارج از TPM (به صورت off-tpm) را مجاز میدانند و بنابراین از عدم استفاده از TCTI پشتیبانی میکنند. ابزارهایی که از آن پشتیبانی نمیکنند، در صورت تلاش برای استفاده بدون اتصال TCTI با خطا مواجه میشوند. از هیچ گزینهای پشتیبانی نمیکند و باید دقیقاً به صورت متن “none” ارائه شود.
آرگومانهای گزینه خط فرمان یا متغیر محیطی به این قالب هستند:
<tcti-name>:<tcti-option-config>
مشخص کردن یک رشته خالی برای هر کدام از <tcti-name> یا <tcti-option-config> منجر به استفاده از مقدار پیشفرض برای آن بخش میشود.
پیشفرضهای TCTI (TCTI Defaults)
هنگامی که TCTI مشخص نشده باشد، TCTI پیشفرض با استفاده از معناشناسی dlopen(3) جستجو میشود. ابزارها TCTIهای tabrmd، device و mssim را دقیقاً به همین ترتیب جستجو کرده و از اولین مورد یافتشده استفاده میکنند. با استفاده از گزینه -v برای چاپ اطلاعات نسخه، میتوانید بررسی کنید کدام TCTI به عنوان پیشفرض انتخاب خواهد شد. جفت کلید-مقدار “default-tcti” نشان میدهد که کدام یک از TCTIهای یادشده پیشفرض است.
TCTIهای سفارشی (Custom TCTIs)
هر TCTI که رابط پویای TCTI را پیادهسازی کند میتواند بارگذاری شود. ابزارها در داخل از dlopen(3) استفاده میکنند و مقدار خام tcti-name برای جستجو استفاده میشود. بنابراین، این مقدار میتواند مسیری به کتابخانه مشترک یا نام کتابخانه همانگونه که توسط معناشناسی dlopen(3) تفسیر میشود باشد.
گزینههای TCTI (TCTI OPTIONS)
این مجموعه از گزینهها برای پیکربندی ماژولهای مختلف و شناختهشده TCTI استفاده میشوند:
- •
- device: برای TCTI از نوع device، میتوان فایل دستگاه نویسهای TPM را جهت استفاده توسط TCTI دستگاه مشخص کرد. مقدار پیشفرض /dev/tpm0 است.
مثال: -T device:/dev/tpm0 یا export TPM2TOOLS_TCTI=“device:/dev/tpm0”
- •
- mssim: برای TCTI از نوع mssim، میتوان نام دامنه یا نشانی IP و شماره درگاه (پورت) استفادهشده توسط شبیهساز را مشخص کرد. مقادیر پیشفرض 127.0.0.1 و 2321 هستند.
مثال: -T mssim:host=localhost,port=2321 یا export TPM2TOOLS_TCTI=“mssim:host=localhost,port=2321”
- •
- abrmd: برای TCTI از نوع abrmd، قالب رشته پیکربندی مجموعهای از جفتهای کلید-مقدار ساده است که با نویسه `,' از یکدیگر جدا میشوند. هر رشته کلید و مقدار نیز با نویسه `=' جدا میشود.
- •
- پیکربندی TCTI abrmd از دو کلید پشتیبانی میکند:
- 1.
- `bus_name' : نام سرویس tabrmd بر روی گذرگاه (یک رشته).
- 2.
- `bus_type' : نوع نمونه dbus (یک رشته) محدود به `session' و `system'.
مشخص کردن نام tcti به صورت tabrmd و رشته پیکربندی bus_name=com.example.FooBar:
-
\--tcti=tabrmd:bus_name=com.example.FooBar
مشخص کردن tcti پیشفرض (abrmd) و رشته پیکربندی bus_type=session:
-
\--tcti:bus_type=session
نکته: abrmd و tabrmd مترادف هستند.
مثالها (EXAMPLES)
اجرای یک خودآزمایی ساده TPM
-
tpm2_selftest
اجرای یک خودآزمایی کامل TPM
-
tpm2_selftest -f
وضعیت خروج (EXIT STATUS)
ابزارها میتوانند هر یک از کدهای زیر را بازگردانند:
- •
- 0 - موفقیت.
- •
- 1 - خطای عمومی و نامشخص.
- •
- 2 - خطای مدیریت گزینهها.
- •
- 3 - خطای احراز هویت.
- •
- 4 - خطای مربوط به TCTI.
- •
- 5 - طرحواره (scheme) پشتیبانینشده. قابل اعمال بر روی tpm2_testparams.
گزارش باگها (BUGS)
راهنما (HELP)
به فهرست رایانامهای (Mailing List)مراجعه کنید.
کپیرایت و تکثیر (COPYRIGHT)
این اثر تحت مجوز Creative Commons Attribution 4.0 International License (CC BY 4.0) منتشر شده است.
| tpm2-tools |