.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2_gettime" "1" "" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2_gettime \- دریافت زمان و ساعت جاری از TPM به صورت امضاشده .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2_gettime\f[R] [\f[I]گزینه‌ها\f[R]] [\f[I]آرگومان\f[R]] .SH "توضیحات (DESCRIPTION)" دستور \f[B]tpm2_gettime\f[R](1) یک نسخهٔ امضاشده از زمان و ساعت جاری TPM را ارائه می‌دهد\&. این دستور هم یک امضا و هم داده‌ها را در قالب استاندارد تصدیق TPM، یعنی یک ساختار TPMS_ATTEST برمی‌گرداند\&. .PP این دستور ساختار TPMS_TIME_INFO را از TPM در قالب YAML روی خروجی استاندارد (stdout) چاپ می‌کند\&. این ساختار شامل مقادیر جاری Time، Clock، resetCount و restartCount است\&. این ساختار به صورت YAML خروجی داده می‌شود که به شرح زیر تعریف شده است: .IP .EX time\f[B]:\f[R] 13673142\f[I] # مقدار ۶۴ بیتی زمان برحسب میلی‌ثانیه از آخرین _TPM_Init یا TPM2_Startup\f[R] clock_info\f[B]:\f[R] clock\f[B]:\f[R] 13673142\f[I] # مقدار ۶۴ بیتی زمان روشن بودن TPM برحسب میلی‌ثانیه\f[R] reset_count\f[B]:\f[R] 0\f[I] # مقدار ۳۲ بیتی تعداد ریست‌های TPM از آخرین TPM2_Clear\f[R] restart_count\f[B]:\f[R] 0\f[I] # مقدار ۳۲ بیتی تعداد دفعاتی که TPM2_Shutdown یا\f[R] \f[I] # _TPM_Hash_Start از زمان آخرین ریست TPM یا TPM2_Clear رخ داده‌اند\f[R] safe\f[B]:\f[R] yes\f[I] # مقدار بولی yes|no مبنی بر اینکه مقداری بزرگ‌تر از مقدار فعلی Clock\f[R] \f[I] # قبلاً توسط TPM گزارش نشده باشد\f[R] .EE .SH "گزینه‌ها (OPTIONS)" .IP \[bu] 2 \f[B]\-c\f[R]، \f[B]\-\-key\-context\f[R]=\f[I]OBJECT\f[R]: .RS 2 .PP شیء بافتار (Context object) اشاره‌کننده به کلید مورد استفاده برای امضا\&. می‌تواند یک فایل یا یک شماره دستگیره (handle) باشد\&. بخش \[lq]قالب شیء بافتار (Context Object Format)\[rq] را ببینید\&. .RE .IP \[bu] 2 \f[B]\-p\f[R]، \f[B]\-\-auth\f[R]=\f[I]AUTH\f[R]: .RS 2 .PP مقدار اختیاری احراز اصالت برای استفاده از کلید مشخص‌شده توسط \f[B]\-c\f[R]\&. مقادیر احراز اصالت باید از \[lq]استانداردهای قالب‌بندی احراز اصالت\[rq] پیروی کنند، به بخش \[lq]قالب‌بندی احراز اصالت (Authorization Formatting)\[rq] مراجعه کنید\&. .RE .IP \[bu] 2 \f[B]\-P\f[R]، \f[B]\-\-endorse\-auth\f[R]=\f[I]AUTH\f[R]: .RS 2 .PP مقدار اختیاری احراز اصالت برای سلسله‌مراتب تایید (endorsement hierarchy)\&. مقادیر احراز اصالت باید از \[lq]استانداردهای قالب‌بندی احراز اصالت\[rq] پیروی کنند، به بخش \[lq]قالب‌بندی احراز اصالت (Authorization Formatting)\[rq] مراجعه کنید\&. .RE .IP \[bu] 2 \f[B]\-g\f[R]، \f[B]\-\-hash\-algorithm\f[R]=\f[I]ALGORITHM\f[R]: .RS 2 .PP الگوریتم درهم‌سازی مورد استفاده برای خلاصه‌سازی پیام\&. الگوریتم‌ها باید از \[lq]استانداردهای قالب‌بندی\[rq] پیروی کنند، به بخش \[lq]مشخص‌کننده‌های الگوریتم (Algorithm Specifiers)\[rq] مراجعه کنید\&. همچنین، برای فهرستی از الگوریتم‌های درهم‌سازی پشتیبانی‌شده به بخش \[lq]الگوریتم‌های درهم‌سازی پشتیبانی‌شده\[rq] مراجعه نمایید\&. .RE .IP \[bu] 2 \f[B]\-s\f[R]، \f[B]\-\-scheme\f[R]=\f[I]ALGORITHM\f[R]: .RS 2 .PP طرح امضای مورد استفاده برای امضای پیام\&. اختیاری است\&. طرح‌های امضا باید از \[lq]استانداردهای قالب‌بندی\[rq] پیروی کنند، به بخش \[lq]مشخص‌کننده‌های الگوریتم (Algorithm Specifiers)\[rq] مراجعه کنید\&. همچنین، برای مشاهده فهرستی از طرح‌های امضای پشتیبانی‌شده به بخش \[lq]طرح‌های امضای پشتیبانی‌شده\[rq] مراجعه کنید\&. در صورت مشخص شدن، طرح امضا باید با نوع کلید مطابقت داشته باشد\&. اگر مشخص نشود، از طرح امضای پیش‌فرض متناسب با نوع کلید استفاده خواهد شد\&. .RE .IP \[bu] 2 \f[B]\-q\f[R]، \f[B]\-\-qualification\f[R]=\f[I]FILE_OR_HEX_STR\f[R]: .RS 2 .PP اختیاری؛ داده‌های واجد شرایط خط‌مشی (policy qualifier data) که امضاکننده می‌تواند برای گنجاندن در امضا انتخاب کند\&. می‌تواند یک رشته هگزادسیمال یا مسیر یک فایل باشد\&. .RE .IP \[bu] 2 \f[B]\-o\f[R]، \f[B]\-\-signature\f[R]=\f[I]FILE\f[R]: .RS 2 .PP فایل امضا، ساختار امضا را ثبت می‌کند\&. .RE .IP \[bu] 2 \f[B]\-f\f[R]، \f[B]\-\-format\f[R]=\f[I]FORMAT\f[R]: .RS 2 .PP انتخاب قالب برای فایل خروجی امضا\&. به بخش \[lq]مشخص‌کننده‌های قالب امضا (Signature Format Specifiers)\[rq] مراجعه کنید\&. .RE .IP \[bu] 2 \f[B]\-\-attestation\f[R]=\f[I]FILE\f[R]: .RS 2 .PP داده‌های تصدیق از نوع TPMS_ATTEST که با کلید امضا، امضا شده‌اند\&. .RE .IP \[bu] 2 \f[B]\-\-cphash\f[R]=\f[I]FILE\f[R]: .RS 2 .PP مسیر فایل برای ثبت درهم‌سازی پارامترهای دستور\&. این مقدار معمولاً cpHash نامیده می‌شود\&. \f[B]نکته:\f[R] هنگامی که این گزینه انتخاب شود، ابزار عملاً دستور را اجرا نمی‌کند و صرفاً یک cpHash برمی‌گرداند\&. .RE .IP \[bu] 2 \f[B]آرگومان (ARGUMENT)\f[R]: آرگومان خط فرمان، داده‌های فایل را برای امضا مشخص می‌کند\&. .SS "مراجع (References)" .SH "قالب شیء بافتار (Context Object Format)" نوع یک شیء بافتار، چه یک دستگیره (handle) باشد چه نام فایل، بر اساس منطق زیر \f[I]به‌ترتیب\f[R] تعیین می‌شود: .IP \[bu] 2 اگر آرگومان مسیر یک فایل باشد، فایل به عنوان یک شیء گذرا (transient object) بازیابی‌شدهٔ TPM بارگذاری می‌شود\&. .IP \[bu] 2 اگر آرگومان تطابق \f[I]پیشوندی\f[R] با یکی از موارد زیر باشد: .RS 2 .IP \[bu] 2 owner: سلسله‌مراتب مالک (owner hierarchy) .IP \[bu] 2 platform: سلسله‌مراتب پلتفرم (platform hierarchy) .IP \[bu] 2 endorsement: سلسله‌مراتب تایید (endorsement hierarchy) .IP \[bu] 2 lockout: شیء پایدار کنترل قفل (lockout control persistent object) .RE .IP \[bu] 2 اگر آرگومان بتواند به‌صورت یک عدد بارگذاری شود، به عنوان یک دستگیره تلقی خواهد شد (برای مثال 0x81010013) و مستقیماً استفاده می‌شود\&._OBJECT_. .SH "قالب‌بندی احراز اصالت (Authorization Formatting)" مجوز برای استفاده از یک شیء در TPM 2.0 می‌تواند به ۳ شکل مختلف ارائه شود: 1. گذرواژه (Password) 2. کد HMAC 3. نشست‌ها (Sessions) .PP \f[B]نکته:\f[R] \[lq]در صورت مشخص نشدن، مجوزها به‌طور پیش‌فرض برابر با \f[B]گذرواژه خالی (EMPTY PASSWORD)\f[R] در نظر گرفته می‌شوند\[rq]\&. .PP برای احراز اصالت با مقادیر auth، دستورات ابزار به‌طور ضمنی یک نشست HMAC ایجاد می‌کنند\&. بنابراین گذرواژه‌ها به‌صورت رمزنشده منتقل نمی‌شوند\&. این موضوع در مورد گذرواژه‌های تعریف‌شده برای اشیاء صدق نمی‌کند\&. در این حالت، باید از یک نشست HMAC استفاده شود (دستور \f[B]tpm2_startauthsession\f[R](1) را ببینید)\&. .SS "گذرواژه‌ها (Passwords)" گذرواژه‌ها در اشکال زیر با استفاده از شناسه‌های پیشوندی تفسیر می‌شوند\&. .PP \f[B]نکته\f[R]: به‌طور پیش‌فرض هنگامی که گذرواژه‌ها پیشوندی نداشته باشند، در قالب رشته (string) در نظر گرفته می‌شوند\&. .SS "رشته (String)" یک گذرواژه رشته‌ای، مشخص‌شده با پیشوند \[lq]str:\[rq] یا عدم وجود آن (رشته خام بدون پیشوند)، تفسیر نمی‌شود و مستقیماً برای احراز مجوز استفاده می‌گردد\&. .SS "مثال‌ها (Examples)" .IP .EX foobar str:foobar .EE .SS "رشته هگز (Hex\-string)" یک گذرواژه رشته هگز، مشخص‌شده با پیشوند \[lq]hex:\[rq]، از قالب هگزادسیمال به یک آرایه بایتی تبدیل می‌شود؛ بنابراین امکان استفاده از گذرواژه‌هایی با نویسه‌های غیرقابل‌چاپ یا نامناسب برای ترمینال را فراهم می‌کند\&. .SS "مثال (Example)" .IP .EX hex:1122334455667788 .EE .SS "فایل (File)" یک گذرواژه مبتنی بر فایل، مشخص‌شده با پیشوند \[lq]file:\[rq]، باید مسیر فایلی حاوی گذرواژه برای خوانده شدن توسط ابزار باشد، یا \[lq]\-\[rq] برای استفاده از stdin\&. ذخیره گذرواژه‌ها در فایل از نشت اطلاعات جلوگیری می‌کند؛ زیرا گذرواژه‌های ارائه‌شده به‌صورت گزینه‌ها می‌توانند از طریق فهرست فرآیندها یا قابلیت‌های متداول تاریخچه پوسته خوانده شوند\&. .SS "مثال‌ها (Examples)" .IP .EX # برای استفاده از stdin و درخواست اعلان ورود: file:\- # برای استفاده از یک فایل از یک مسیر: file:path/to/password/file # برای ارسال گذرواژه از طریق stdin با echo: echo foobar | tpm2_tool \-p file:\- # برای استفاده از here\-string بش از طریق stdin: tpm2_tool \-p file:\- <<< foobar .EE .SS "نشست‌ها (Sessions)" هنگام استفاده از یک نشست خط‌مشی برای مجاز کردن استفاده از یک شیء، آرگومان گزینه را با کلمه کلیدی \f[I]session\f[R] پیشوندگذاری کنید\&. سپس مسیری را به یک فایل نشست که با \f[B]tpm2_startauthsession\f[R](1) ایجاد شده است مشخص نمایید\&. در صورت تمایل، اگر نشست نیازمند ارسال مقدار auth به همراه دستگیره نشست باشد (مانند گذرواژه خط‌مشی)، یک + و یک رشته را همان‌طور که در بخش \f[B]گذرواژه‌ها (Passwords)\f[R] شرح داده شد اضافه کنید\&. .SS "مثال‌ها (Examples)" برای استفاده از یک فایل بافتار نشست به نام \f[I]session.ctx\f[R]: .IP .EX session:session.ctx .EE .PP برای استفاده از یک فایل بافتار نشست به نام \f[I]session.ctx\f[R] \f[B]و\f[R] ارسال مقدار auth با مقدار mypassword: .IP .EX session:session.ctx+mypassword .EE .PP برای استفاده از یک فایل بافتار نشست به نام \f[I]session.ctx\f[R] \f[B]و\f[R] ارسال مقدار auth از نوع \f[I]HEX\f[R] با مقدار 0x11223344: .IP .EX session:session.ctx+hex:11223344 .EE .SS "احراز اصالت‌های PCR (PCR Authorizations)" می‌توانید یک خط‌مشی PCR را با استفاده از پیشوند \[lq]pcr:\[rq] و ریززبان PCR برآورده کنید\&. ریززبان PCR به شرح زیر است: \f[CR]=\f[R] .PP مشخصات PCR در بخش \[lq]مشخص‌کننده‌های بانک PCR (PCR bank specifiers)\[rq] مستند شده است\&. .PP آرگومان \f[CR]raw\-pcr\-file\f[R] یک آرگومان \f[B]اختیاری\f[R] است که شامل خروجی محتویات خام PCR برگردانده‌شده توسط \f[I]tpm2_pcrread\f[R](1) است\&. .PP مشخص‌کننده‌های بانک PCR\&. .SS "مثال‌ها (Examples)" برای برآورده کردن یک خط‌مشی PCR با sha256 روی بانک‌های 0، 1، 2 و 3 از یک مشخص‌کننده به صورت زیر استفاده کنید: .IP .EX pcr:sha256:0,1,2,3 .EE .PP مشخص کردن \f[I]AUTH\f[R]\&. .SH "مشخص‌کننده‌های الگوریتم (Algorithm Specifiers)" گزینه‌هایی که الگوریتم دریافت می‌کنند از \[lq]نام‌های مناسب (nice\-names)\[rq] پشتیبانی می‌کنند\&. .PP دو دسته اصلی رشته‌های مشخص‌کننده الگوریتم وجود دارد: ساده و پیچیده\&. تنها الگوریتم‌های خاصی توسط TPM بر اساس کاربرد و شرایط پذیرفته می‌شوند\&. .SS "مشخص‌کننده‌های ساده (Simple specifiers)" این‌ها رشته‌هایی بدون داده‌های مشخص‌کننده اضافی هستند\&. هنگام ایجاد اشیاء، بخش‌های نامشخص شیء به مقادیر پیش‌فرض فرض می‌شوند\&. می‌توانید فهرست \[lq]مشخص‌کننده‌های ساده\[rq] شناخته‌شده را در زیر بیابید\&. .SS "نامتقارن (Asymmetric)" .IP \[bu] 2 rsa .IP \[bu] 2 ecc .SS "متقارن (Symmetric)" .IP \[bu] 2 aes .IP \[bu] 2 camellia .IP \[bu] 2 sm4 .SS "الگوریتم‌های درهم‌سازی (Hashing Algorithms)" .IP \[bu] 2 sha1 .IP \[bu] 2 sha256 .IP \[bu] 2 sha384 .IP \[bu] 2 sha512 .IP \[bu] 2 sm3_256 .IP \[bu] 2 sha3_256 .IP \[bu] 2 sha3_384 .IP \[bu] 2 sha3_512 .SS "درهم‌سازی کلیددار (Keyed Hash)" .IP \[bu] 2 hmac .IP \[bu] 2 xor .SS "طرح‌های امضا (Signing Schemes)" .IP \[bu] 2 rsassa .IP \[bu] 2 rsapss .IP \[bu] 2 ecdsa .IP \[bu] 2 ecdaa .IP \[bu] 2 ecschnorr .IP \[bu] 2 sm2 .SS "طرح‌های رمزنگاری نامتقارن (Asymmetric Encryption Schemes)" .IP \[bu] 2 oaep .IP \[bu] 2 rsaes .IP \[bu] 2 ecdh .SS "حالت‌ها (Modes)" .IP \[bu] 2 ctr .IP \[bu] 2 ofb .IP \[bu] 2 cbc .IP \[bu] 2 cfb .IP \[bu] 2 ecb .SS "متفرقه (Misc)" .IP \[bu] 2 null .SS "مشخص‌کننده‌های پیچیده (Complex Specifiers)" اشیاء، زمانی که برای ایجاد توسط TPM مشخص می‌شوند، الگوریتم‌های متعددی دارند که باید در داده‌های عمومی مقداردهی شوند؛ مواردی مانند نوع (type)، طرح (scheme) و جزئیات نامتقارن، اندازه کلید و غیره\&. در زیر قالب کلی برای مشخص کردن این داده‌ها آمده است: \f[CR]::\f[R] .SS "مشخص‌کننده‌های نوع (Type Specifiers)" این بخش از مشخص‌کننده الگوریتم پیچیده الزامی است\&. باقی‌مانده طرح و جزئیات متقارن بر اساس نوع مشخص‌شده و نوع شیء در حال ایجاد، به مقادیر پیش‌فرض تنظیم می‌شوند\&. .IP \[bu] 2 aes \- مقدار پیش‌فرض AES: aes128 .IP \[bu] 2 aes128\f[CR]\f[R] \- مقدار ۱۲۸ بیتی AES با حالت اختیاری (\f[I]ctr\f[R]|\f[I]ofb\f[R]|\f[I]cbc\f[R]|\f[I]cfb\f[R]|\f[I]ecb\f[R])\&. اگر حالت مشخص نشود، پیش‌فرض \f[I]null\f[R] است\&. .IP \[bu] 2 aes192\f[CR]\f[R] \- مشابه aes128\f[CR]\f[R]، به‌جز اندازه کلید ۱۹۲ بیتی\&. .IP \[bu] 2 aes256\f[CR]\f[R] \- مشابه aes128\f[CR]\f[R]، به‌جز اندازه کلید ۲۵۶ بیتی\&. .IP \[bu] 2 sm4 \- مقدار پیش‌فرض SM4: sm4128 .IP \[bu] 2 sm4128 یا sm4_128 \f[CR]\f[R] \- مقدار ۱۲۸ بیتی SM4 با حالت اختیاری (\f[I]ctr\f[R]|\f[I]ofb\f[R]|\f[I]cbc\f[R]|\f[I]cfb\f[R]|\f[I]ecb\f[R])\&. اگر حالت مشخص نشود، پیش‌فرض \f[I]null\f[R] است\&. .IP \[bu] 2 ecc \- منحنی بیضوی (Elliptical Curve)، پیش‌فرض ecc256 است\&. .IP \[bu] 2 ecc192 یا ecc_nist_p192 \- منحنی ۱۹۲ بیتی ECC NIST .IP \[bu] 2 ecc224 یا ecc_nist_p224 \- منحنی ۲۲۴ بیتی ECC NIST .IP \[bu] 2 ecc256 یا ecc_nist_p256 \- منحنی ۲۵۶ بیتی ECC NIST .IP \[bu] 2 ecc384 یا ecc_nist_p384 \- منحنی ۳۸۴ بیتی ECC NIST .IP \[bu] 2 ecc521 یا ecc_nist_p521 \- منحنی ۵۲۱ بیتی ECC NIST .IP \[bu] 2 ecc_sm2 یا ecc_sm2_p256 \- منحنی ۲۵۶ بیتی SM2 .IP \[bu] 2 rsa \- مقدار پیش‌فرض RSA: rsa2048 .IP \[bu] 2 rsa1024 \- الگوریتم RSA با اندازه کلید ۱۰۲۴ بیتی\&. .IP \[bu] 2 rsa2048 \- الگوریتم RSA با اندازه کلید ۲۰۴۸ بیتی\&. .IP \[bu] 2 rsa3072 \- الگوریتم RSA با اندازه کلید ۳۰۷۲ بیتی\&. .IP \[bu] 2 rsa4096 \- الگوریتم RSA با اندازه کلید ۴۰۹۶ بیتی\&. .SS "مشخص‌کننده‌های طرح (Scheme Specifiers)" بخش بعدی یک فیلد اختیاری است و می‌توان از آن صرف‌نظر کرد\&. .PP طرح‌ها معمولاً \f[B]طرح‌های امضا (Signing Schemes)\f[R] یا \f[B]طرح‌های رمزنگاری نامتقارن (Asymmetric Encryption Schemes)\f[R] هستند\&. بیشتر طرح‌های امضا یک الگوریتم هش را دقیقاً پس از طرح امضا دریافت می‌کنند\&. اگر الگوریتم هش ذکر نشود، پیش‌فرض \f[I]sha256\f[R] خواهد بود\&. برخی هیچ آرگومانی نمی‌گیرند و برخی چندین آرگومان دریافت می‌کنند\&. .SS "مشخص‌کننده‌های طرح با هش اختیاری (Hash Optional Scheme Specifiers)" پس از این مشخص‌کننده‌های طرح یک خط تیره و یک الگوریتم هش معتبر می‌آید، برای مثال: \f[CR]oaep\-sha256\f[R]\&. .IP \[bu] 2 oaep .IP \[bu] 2 ecdh .IP \[bu] 2 rsassa .IP \[bu] 2 rsapss .IP \[bu] 2 ecdsa .IP \[bu] 2 ecschnorr .IP \[bu] 2 sm2 .SS "مشخص‌کننده‌های طرح چندگزینه‌ای (Multiple Option Scheme Specifiers)" پس از این مشخص‌کننده طرح، یک شمارنده (حداکثر اندازه UINT16) و سپس یک خط تیره (\-) و یک الگوریتم هش معتبر می‌آید\&. * ecdaa برای مثال: ecdaa4\-sha256\&. اگر هیچ شمارنده‌ای مشخص نشود، پیش‌فرض برابر با ۴ است\&. .SS "مشخص‌کننده‌های طرح بدون گزینه (No Option Scheme Specifiers)" این مشخص‌کننده طرح هیچ آرگومانی دریافت نمی‌کند\&. * rsaes .SS "مشخص‌کننده‌های جزئیات متقارن (Symmetric Details Specifiers)" این فیلد اختیاری است و بر اساس \f[I]نوع (type)\f[R] شیء در حال ایجاد و ویژگی‌های آن به مقدار پیش‌فرض تنظیم می‌شود\&. به‌طور کلی، هر مشخص‌کننده معتبر \f[B]متقارن (Symmetric)\f[R] از فهرست \f[B]مشخص‌کننده‌های نوع (Type Specifiers)\f[R] باید کار کند\&. اگر مشخص نشود، جزئیات متقارن یک شیء نامتقارن به طور پیش‌فرض به \f[I]aes128cfb\f[R] تنظیم می‌شود\&. .SS "مثال‌ها (Examples)" .SS "ایجاد یک کلید rsa2048 با طرح رمزنگاری نامتقارن rsaes" \f[CR]tpm2_create \-C parent.ctx \-G rsa2048:rsaes \-u key.pub \-r key.priv\f[R] .SS "ایجاد یک کلید ecc256 با طرح امضای ecdaa با شمارنده ۴ و هش sha384" \f[CR]/tpm2_create \-C parent.ctx \-G ecc256:ecdaa4\-sha384 \-u key.pub \-r key.priv\f[R] الگوریتم‌های رمزنگاری \f[I]ALGORITHM\f[R]\&. .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)\&. مفید در زمانی که یک اصلاح غلط‌نامه نیاز است بر روی دستورات ارسالی به TPM اعمال شود\&. تعریف متغیر محیطی TPM2TOOLS_ENABLE_ERRATA معادل این گزینه است\&. .IP \[bu] 2 \f[B]\-z\f[R]، \f[B]\-\-pwd\-session\f[R]: استفاده از نشست گذرواژه به جای نشست HMAC برای احراز هویت\&. یک گذرواژه متنی آشکار برای مجاز کردن عملیات به 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 "مشخص‌کننده‌های قالب امضا (Signature Format Specifiers)" انتخاب قالب برای فایل خروجی امضا\&. گزینهٔ \f[B]tss\f[R] (پیش‌فرض) یک حباب دادهٔ باینری را طبق مشخصات TPM 2.0 و هرگونه فاصله‌گذاری احتمالی کامپایلر خروجی می‌دهد\&. گزینهٔ \f[B]plain\f[R] داده‌های خام امضا را همان‌طور که توسط الگوریتم رمزنگاری استفاده‌شده تعریف شده است خروجی می‌دهد\&. .SH "مثال‌ها (EXAMPLES)" .SS "ایجاد یک کلید و دریافت زمان تصدیق‌شدهٔ TPM" .IP .EX tpm2_createprimary \-C e \-c primary.ctx tpm2_create \-G rsa \-u rsa.pub \-r rsa.priv \-C primary.ctx tpm2_load \-C primary.ctx \-u rsa.pub \-r rsa.priv \-c rsa.ctx tpm2_gettime \-c rsa.ctx \-o attest.sig \-\-attestation attest.data .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 "همچنین ببینید (SEE ALSO)" \f[B]tpm2_createprimary\f[R](1)، \f[B]tpm2_create\f[R](1)، \f[B]tpm2_load\f[R](1)، \f[B]tpm2_startauthsession\f[R](1) .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 مجوز بین‌المللی Creative Commons Attribution 4.0 (CC BY 4.0) .UE منتشر شده است\&.