.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2" "1" "" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2 \- یک فایل اجرایی کوچک و یکپارچه شامل ابزارهای مختلف tpm2\-tools شبیه به BusyBox برای سیستم‌های کوچک یا تعبیه‌شده .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2\f[R] [\f[I]گزینه‌ها\f[R]] [\f[I]آرگومان‌ها\f[R]] .SH "توضیحات (DESCRIPTION)" دستور \f[B]tpm2\f[R](1) \- جهت تسهیل نصب tpm2\-tools در initrd یا سیستم‌های تعبیه‌شده (embedded) که بهینه‌سازی اندازه و محدودیت منابع در آن‌ها اهمیت دارد، بسیار کاربردی است که یک فایل اجرایی منفرد وجود داشته باشد که بتواند قابلیت‌ها و عملکردهای گوناگون TPM2 را بر اساس آرگومان مشخص‌شده (که یکی از نام‌های ابزارهای موجود است) فراخوانی و اجرا کند\&. .PP گزینه‌ها و آرگومان‌هایی که در ادامه می‌آیند یا از دستهٔ \f[B]گزینه‌های عمومی (common options)\f[R] هستند و یا مختص به \f[B]نام ابزار (tool name)\f[R] مشخص‌شده می‌باشند\&. .PP توجه به این نکته حائز اهمیت است که ابزارهای مستقل با پیشوند \f[B]tpm2_\f[R] همچنان قابل فراخوانی هستند؛ با این حال، آن‌ها اکنون به‌صورت پیوند نرم (soft\-link) به این فایل اجرایی \f[B]tpm2\f[R] متصل شده‌اند\&. بنابراین بر خلاف BusyBox، تمام قابلیت‌های ابزارهای مجزا در این فایل اجرایی در دسترس است\&. به عنوان مثال: دستور \f[B]tpm2_getrandom 8\f[R] را می‌توان به شکل جایگزین به‌صورت \f[B]tpm2 getrandom 8\f[R] نیز اجرا کرد\&. .SH "آرگومان‌ها (ARGUMENTS)" فهرست نام‌های ابزارهای ممکن\&. \f[B]نکته:\f[R] تنها یکی از این موارد را مشخص کنید\&. به بخش مثال‌ها نگاه کنید\&. .PP \f[B]certifyX509certutil\f[R] .PP \f[B]checkquote\f[R] .PP \f[B]eventlog\f[R] .PP \f[B]print\f[R] .PP \f[B]rc_decode\f[R] .PP \f[B]activatecredential\f[R] .PP \f[B]certify\f[R] .PP \f[B]changeauth\f[R] .PP \f[B]changeeps\f[R] .PP \f[B]changepps\f[R] .PP \f[B]clear\f[R] .PP \f[B]clearcontrol\f[R] .PP \f[B]clockrateadjust\f[R] .PP \f[B]create\f[R] .PP \f[B]createak\f[R] .PP \f[B]createek\f[R] .PP \f[B]createpolicy\f[R] .PP \f[B]setprimarypolicy\f[R] .PP \f[B]createprimary\f[R] .PP \f[B]dictionarylockout\f[R] .PP \f[B]duplicate\f[R] .PP \f[B]getcap\f[R] .PP \f[B]gettestresult\f[R] .PP \f[B]encryptdecrypt\f[R] .PP \f[B]evictcontrol\f[R] .PP \f[B]flushcontext\f[R] .PP \f[B]getekcertificate\f[R] .PP \f[B]getrandom\f[R] .PP \f[B]gettime\f[R] .PP \f[B]hash\f[R] .PP \f[B]hierarchycontrol\f[R] .PP \f[B]hmac\f[R] .PP \f[B]import\f[R] .PP \f[B]incrementalselftest\f[R] .PP \f[B]load\f[R] .PP \f[B]loadexternal\f[R] .PP \f[B]makecredential\f[R] .PP \f[B]nvdefine\f[R] .PP \f[B]nvextend\f[R] .PP \f[B]nvincrement\f[R] .PP \f[B]nvreadpublic\f[R] .PP \f[B]nvread\f[R] .PP \f[B]nvreadlock\f[R] .PP \f[B]nvundefine\f[R] .PP \f[B]nvwrite\f[R] .PP \f[B]nvwritelock\f[R] .PP \f[B]nvsetbits\f[R] .PP \f[B]pcrallocate\f[R] .PP \f[B]pcrevent\f[R] .PP \f[B]pcrextend\f[R] .PP \f[B]pcrread\f[R] .PP \f[B]pcrreset\f[R] .PP \f[B]policypcr\f[R] .PP \f[B]policyauthorize\f[R] .PP \f[B]policyauthorizenv\f[R] .PP \f[B]policynv\f[R] .PP \f[B]policycountertimer\f[R] .PP \f[B]policyor\f[R] .PP \f[B]policynamehash\f[R] .PP \f[B]policytemplate\f[R] .PP \f[B]policycphash\f[R] .PP \f[B]policypassword\f[R] .PP \f[B]policysigned\f[R] .PP \f[B]policyticket\f[R] .PP \f[B]policyauthvalue\f[R] .PP \f[B]policysecret\f[R] .PP \f[B]policyrestart\f[R] .PP \f[B]policycommandcode\f[R] .PP \f[B]policynvwritten\f[R] .PP \f[B]policyduplicationselect\f[R] .PP \f[B]policylocality\f[R] .PP \f[B]quote\f[R] .PP \f[B]readclock\f[R] .PP \f[B]readpublic\f[R] .PP \f[B]rsadecrypt\f[R] .PP \f[B]rsaencrypt\f[R] .PP \f[B]send\f[R] .PP \f[B]selftest\f[R] .PP \f[B]sessionconfig\f[R] .PP \f[B]setclock\f[R] .PP \f[B]shutdown\f[R] .PP \f[B]sign\f[R] .PP \f[B]certifycreation\f[R] .PP \f[B]nvcertify\f[R] .PP \f[B]startauthsession\f[R] .PP \f[B]startup\f[R] .PP \f[B]stirrandom\f[R] .PP \f[B]testparms\f[R] .PP \f[B]unseal\f[R] .PP \f[B]verifysignature\f[R] .PP \f[B]setcommandauditstatus\f[R] .PP \f[B]getcommandauditdigest\f[R] .PP \f[B]getsessionauditdigest\f[R] .PP \f[B]geteccparameters\f[R] .PP \f[B]ecephemeral\f[R] .PP \f[B]commit\f[R] .PP \f[B]ecdhkeygen\f[R] .PP \f[B]ecdhzgen\f[R] .PP \f[B]zgen2phase\f[R] .SS "مراجع (References)" .SH "گزینه‌های عمومی (COMMON OPTIONS)" این مجموعه از گزینه‌ها میان بسیاری از برنامه‌ها مشترک هستند و اطلاعاتی را ارائه می‌دهند که بسیاری از کاربران انتظار دارند\&. .IP \[bu] 2 \f[B]\-h\f[R]، \f[B]\-\-help=[man|no\-man]\f[R]: نمایش صفحه راهنمای (manpage) ابزار\&. به‌طور پیش‌فرض، تلاش می‌کند صفحه‌بند راهنما (manpager) را برای ابزار فراخوانی کند؛ اما در صورت عدم موفقیت، خلاصه‌ای کوتاه از ابزار را خروجی می‌دهد\&. این رفتار مشابه زمانی است که آرگومان گزینهٔ \[lq]man\[rq] مشخص شود، اما در صورتی که به‌طور صریح \[lq]man\[rq] درخواست شود، ابزار خطاهای man را در stderr ارائه می‌دهد\&. اگر گزینهٔ \[lq]no\-man\[rq] مشخص شود یا صفحه‌بند راهنما شکست بخورد، گزینه‌های کوتاه به stdout فرستاده می‌شوند\&. .RS 2 .PP برای استفاده موفقیت‌آمیز از ویژگی صفحات راهنما، نیاز است صفحات راهنما نصب شده باشند یا در \f[I]MANPATH\f[R] قرار داشته باشند؛ برای جزئیات بیشتر به man(1) مراجعه کنید\&. .RE .IP \[bu] 2 \f[B]\-v\f[R]، \f[B]\-\-version\f[R]: نمایش اطلاعات نسخه برای این ابزار، TCTIهای پشتیبانی‌شده و خروج\&. .IP \[bu] 2 \f[B]\-V\f[R]، \f[B]\-\-verbose\f[R]: افزایش اطلاعاتی که ابزار در طول اجرای خود در کنسول چاپ می‌کند\&. هنگام استفاده از این گزینه، نام فایل و شماره خط چاپ می‌شوند\&. .IP \[bu] 2 \f[B]\-Q\f[R]، \f[B]\-\-quiet\f[R]: بی‌صدا کردن خروجی عادی ابزار به stdout\&. .IP \[bu] 2 \f[B]\-Z\f[R]، \f[B]\-\-enable\-errata\f[R]: فعال‌سازی اعمال اصلاحات اشکالات (errata fixups)\&. زمانی مفید است که نیاز باشد اصلاحات errata به دستورات ارسالی به TPM اعمال شوند\&. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA نیز معادل این گزینه است\&. .IP \[bu] 2 \f[B]\-z\f[R]، \f[B]\-\-pwd\-session\f[R]: استفاده از نشست گذرواژه‌ای به‌جای نشست HMAC برای احراز اصالت\&. یک گذرواژه متن‌آشکار (clear text) به TPM ارسال می‌شود تا عملیات را مجاز کند\&. این گزینه می‌تواند برای جلوگیری از مشکلات هنگام استفاده از نشست‌های بدون نمک (unsalted) در حالت OpenSSL FIPS استفاده شود\&. اگر مقادیر auth استفاده شوند، باید از یک نشست نمک‌دار (salted) برای احراز اصالت استفاده شود\&. .IP \[bu] 2 \f[B]\-R\f[R]، \f[B]\-\-autoflush\f[R]: فعال‌سازی تخلیه خودکار (autoflush) برای اشیاء گذرای ایجادشده توسط دستور\&. اگر یک شیء والد از یک فایل بافتار بارگذاری شود، شیء والد گذرا نیز تخلیه خواهد شد\&. تخلیه خودکار همچنین می‌تواند در صورتی که متغیر محیطی TPM2TOOLS_AUTOFLUSH روی yes یا true تنظیم شده باشد، فعال گردد\&. اطلاعاتی که ممکن است بسیاری از کاربران انتظار داشته باشند\&. .SH "پیکربندی TCTI (TCTI CONFIGURATION)" رابط انتقال یا TCTI مخفف \[lq]Transmission Interface\[rq]، سازوکار ارتباطی با TPM است\&. می‌توان TCTIها را برای ارتباط با TPM از طریق بسترهای مختلف تغییر داد\&. .PP برای کنترل TCTI، ابزارها موارد زیر را رعایت می‌کنند: .IP "1." 3 گزینه خط فرمان \f[B]\-T\f[R] یا \f[B]\-\-tcti\f[R] .IP "2." 3 متغیر محیطی: \f[I]TPM2TOOLS_TCTI\f[R]\&. .PP \f[B]نکته:\f[R] گزینه خط فرمان همیشه بر متغیر محیطی اولویت دارد\&. .PP TCTIهای شناخته‌شده کنونی عبارتند از: .IP \[bu] 2 tabrmd \- مدیر منابع، موسوم به \c .UR https://github.com/tpm2-software/tpm2-abrmd tabrmd .UE \c \&. توجه داشته باشید که tabrmd و abrmd به عنوان نام tcti مترادف هستند\&. .IP \[bu] 2 mssim \- معمولاً برای ارتباط با شبیه‌ساز نرم‌افزاری TPM استفاده می‌شود\&. .IP \[bu] 2 device \- هنگام برقراری ارتباط مستقیم با فایل دستگاه TPM استفاده می‌شود\&. .IP \[bu] 2 none \- هیچ اتصالی با TPM برقرار نمی‌کند\&. برخی ابزارها امکان استفاده از گزینه‌های خارج از TPM (off\-tpm) را می‌دهند و بنابراین از عدم استفاده از TCTI پشتیبانی می‌کنند\&. ابزارهایی که از آن پشتیبانی نمی‌کنند، در صورت تلاش برای استفاده بدون اتصال TCTI خطا می‌دهند\&. از \f[I]هیچ\f[R] گزینه‌ای پشتیبانی نمی‌کند و \f[I]باید حتماً\f[R] دقیقاً به صورت متن \[lq]none\[rq] ارائه شود\&. .PP آرگومان‌های ارسال‌شده به گزینه خط فرمان یا متغیر محیطی به شکل زیر هستند: .PP \f[CR]:\f[R] .PP مشخص کردن یک رشته خالی برای هر یک از \f[CR]\f[R] یا \f[CR]\f[R] باعث می‌شود که مقدار پیش‌فرض به ترتیب برای آن بخش استفاده شود\&. .SS "پیش‌فرض‌های TCTI (TCTI Defaults)" هنگامی که یک TCTI مشخص نشده باشد، TCTI پیش‌فرض با استفاده از معناشناسی \f[I]dlopen(3)\f[R] جستجو می‌شود\&. ابزارها به دنبال TCTIهای \f[I]tabrmd\f[R]، \f[I]device\f[R] و \f[I]mssim\f[R] \f[B]به همان ترتیب\f[R] می‌گردند و \f[B]از اولین موردی که یافت شد استفاده می‌کنند\f[R]\&. می‌توانید با استفاده از گزینهٔ \f[B]\-v\f[R] برای چاپ اطلاعات نسخه، بررسی کنید که کدام TCTI به عنوان پیش‌فرض انتخاب خواهد شد\&. جفت کلید\-مقدار \[lq]default\-tcti\[rq] نشان می‌دهد که کدام یک از TCTIهای یادشده پیش‌فرض است\&. .SS "TCTIهای سفارشی (Custom TCTIs)" هر TCTI که رابط پویای TCTI را پیاده‌سازی کند می‌تواند بارگذاری شود\&. ابزارها در داخل از \f[I]dlopen(3)\f[R] استفاده می‌کنند و مقدار خام \f[I]tcti\-name\f[R] برای جستجو استفاده می‌شود\&. بنابراین، این مقدار می‌تواند مسیری به کتابخانه مشترک یا نام کتابخانه‌ای باشد که بر اساس معناشناسی \f[I]dlopen(3)\f[R] قابل فهم است\&. .SH "گزینه‌های TCTI (TCTI OPTIONS)" این مجموعه از گزینه‌ها برای پیکربندی ماژول‌های مختلف TCTI شناخته‌شدهٔ موجود استفاده می‌شوند: .IP \[bu] 2 \f[B]device\f[R]: برای TCTI دستگاه (device)، فایل دستگاه نویسه‌ای (character device) TPM جهت استفاده توسط TCTI دستگاه می‌تواند مشخص شود\&. پیش‌فرض \f[I]/dev/tpm0\f[R] است\&. .RS 2 .PP مثال: \f[B]\-T device:/dev/tpm0\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]device:/dev/tpm0\[rq]\f[R] .RE .IP \[bu] 2 \f[B]mssim\f[R]: برای TCTI شبیه‌ساز mssim، نام دامنه یا آدرس IP و شماره درگاه (پورت) استفاده‌شده توسط شبیه‌ساز می‌تواند مشخص شود\&. مقادیر پیش‌فرض 127.0.0.1 و 2321 هستند\&. .RS 2 .PP مثال: \f[B]\-T mssim:host=localhost,port=2321\f[R] یا \f[B]export \f[BI]TPM2TOOLS_TCTI\f[B]=\[lq]mssim:host=localhost,port=2321\[rq]\f[R] .RE .IP \[bu] 2 \f[B]abrmd\f[R]: برای TCTI abrmd، قالب رشته پیکربندی شامل مجموعه‌ای از جفت‌های کلید\-مقدار ساده است که با نویسه `,' از هم جدا شده‌اند\&. رشته‌های هر کلید و مقدار با نویسه `=' از یکدیگر تفکیک می‌شوند\&. .RS 2 .IP \[bu] 2 ماژول TCTI abrmd از دو کلید پشتیبانی می‌کند: .RS 2 .IP "1." 3 `bus_name' : نام سرویس tabrmd روی گذرگاه (یک رشته)\&. .IP "2." 3 `bus_type' : نوع نمونه dbus (یک رشته) محدود به `session' و `system'\&. .RE .PP مشخص کردن نام tcti معادل tabrmd و رشته پیکربندی \f[CR]bus_name=com.example.FooBar\f[R]: .IP .EX \[rs]\-\-tcti=tabrmd:bus_name=com.example.FooBar .EE .PP مشخص کردن tcti پیش‌فرض (abrmd) و رشته پیکربندی \f[CR]bus_type=session\f[R]: .IP .EX \[rs]\-\-tcti:bus_type=session .EE .PP \f[B]نکته\f[R]: abrmd و tabrmd مترادف یکدیگرند\&. ماژول‌های مختلف و شناخته‌شدهٔ TCTI\&. .RE .SH "مثال‌ها (EXAMPLES)" .SS "دریافت ۸ بایت تصادفی از TPM" .IP .EX tpm2 getrandom 8 \f[B]|\f[R] xxd \-p .EE .SS "ارسال دستور راه‌اندازی (Startup) به TPM با فلگ‌های TPM2_SU_CLEAR" .IP .EX tpm2 startup \-c .EE .SH "کدهای بازگشتی (RETURNS)" ابزارها می‌توانند هر یک از کدهای زیر را بازگردانند: .IP \[bu] 2 0 \- موفقیت‌آمیز\&. .IP \[bu] 2 1 \- خطای عمومی و نامشخص\&. .IP \[bu] 2 2 \- خطای مدیریت گزینه‌ها\&. .IP \[bu] 2 3 \- خطای احراز هویت\&. .IP \[bu] 2 4 \- خطای مربوط به TCTI\&. .IP \[bu] 2 5 \- طرح‌واره پشتیبانی‌نشده\&. مربوط به tpm2_testparams\&. .SH "اشکالات (BUGS)" \c .UR https://github.com/tpm2-software/tpm2-tools/issues مسائل گیت‌هاب (Github Issues) .UE \c .SH "راهنما (HELP)" مشاهده \c .UR https://lists.linuxfoundation.org/mailman/listinfo/tpm2 فهرست پستی (Mailing List) .UE \c .SH "مجوز (LICENSE)" این اثر تحت \c .UR https://creativecommons.org/licenses/by/4.0 مجوز بین‌المللی کریتیو کامنز ارجاع ۴.۰ (CC BY 4.0) .UE \c \&.