.\" Automatically generated by Pandoc 3.6.1 .\" .TH "tpm2_getrandom" "1" "" "tpm2\-tools" "General Commands Manual" .SH "نام (NAME)" tpm2_getrandom \- دریافت بایت‌های تصادفی از TPM .SH "خلاصه دستور (SYNOPSIS)" \f[B]tpm2_getrandom\f[R] [\f[I]گزینه‌ها\f[R]] [\f[I]آرگومان\f[R]] .SH "توضیحات (DESCRIPTION)" \f[B]tpm2_getrandom\f[R](1) \- تعداد \f[I]SIZE\f[R] بایت بعدی را از مولد اعداد تصادفی بازمی‌گرداند\&. پارامتر \f[I]SIZE\f[R] به عنوان تنها آرگومان این ابزار در نظر گرفته می‌شود\&. .PP توجه داشته باشید که مشخصات TPM توصیه می‌کند که TPMها تعداد ورودی‌های قابل دسترس را به حداکثر اندازه خروجی الگوریتم درهم‌سازی (hash) بر حسب بایت محدود کنند\&. .PP اکثر TPMها این کار را انجام می‌دهند؛ بنابراین این ابزار بررسی می‌کند که اندازه ورودی محدود به ویژگی \f[B]TPM2_PT_MAX_DIGEST\f[R] باشد و اگر بیش از حد بزرگ باشد، خطا می‌دهد\&. .PP خروجی به‌طور پیش‌فرض به خروجی استاندارد (\f[I]stdout\f[R]) و در قالب باینری ارسال می‌شود، مگر اینکه با گزینه‌های \f[B]\-o\f[R] و \f[B]\-\-hex\f[R] به ترتیب تغییر یابد\&. .SH "گزینه‌ها (OPTIONS)" .IP \[bu] 2 \f[B]\-o\f[R], \f[B]\-\-output\f[R]=\f[I]FILE\f[R] .RS 2 .PP نام فایل را برای خروجی دادن بایت‌های خام مشخص می‌کند\&. پیش‌فرض خروجی استاندارد (stdout) به صورت یک رشته هگزادسیمال است\&. .RE .IP \[bu] 2 \f[B]\-\-hex\f[R] .RS 2 .PP تبدیل داده‌های خروجی به قالب هگزادسیمال بدون پیشوند \[lq]0x\[rq]\&. .RE .IP \[bu] 2 \f[B]\-f\f[R], \f[B]\-\-force\f[R] .RS 2 .PP نادیده گرفتن بررسی‌های زیر: .IP \[bu] 2 اندازه درخواستی در محدوده اندازه هش TPM باشد\&. .IP \[bu] 2 تعداد بایت‌های تصادفی بازیابی‌شده با مقدار درخواستی مطابقت داشته باشد\&. .RE .IP \[bu] 2 \f[B]\-S\f[R], \f[B]\-\-session\f[R]=\f[I]FILE\f[R]: .RS 2 .PP نشست ایجادشده با استفاده از \f[B]tpm2_startauthsession\f[R]\&. امکان تعیین چند مورد از این گزینه وجود دارد\&. به عنوان مثال، می‌توانید یک نشست برای حسابرسی (auditing) و نشستی دیگر برای رمزنگاری پارامترها داشته باشید\&. .RE .IP \[bu] 2 \f[B]\-\-cphash\f[R]=\f[I]FILE\f[R]: .RS 2 .PP مسیر فایل برای ثبت هش پارامترهای دستور\&. این مقدار معمولاً cpHash نامیده می‌شود\&. نکته: هنگامی که این گزینه انتخاب شود و گزینه rphash وجود نداشته باشد، ابزار دستور را واقعاً اجرا نمی‌کند و فقط یک cpHash بازمی‌گرداند\&. .RE .IP \[bu] 2 \f[B]\-\-rphash\f[R]=\f[I]FILE\f[R]: .RS 2 .PP مسیر فایل برای ثبت هش پارامترهای پاسخ\&. این مقدار معمولاً rpHash نامیده می‌شود\&. .RE .IP \[bu] 2 \f[B]ARGUMENT\f[R] آرگومان خط فرمان، اندازه خروجی را مشخص می‌کند\&. .SS "مراجع (REFERENCES)" .SH "گزینه‌های عمومی (COMMON OPTIONS)" این مجموعه از گزینه‌ها میان بسیاری از برنامه‌ها مشترک بوده و اطلاعات مورد انتظار کاربران را فراهم می‌کنند\&. .IP \[bu] 2 \f[B]\-h\f[R], \f[B]\-\-help=[man|no\-man]\f[R]: نمایش صفحه راهنمای ابزار\&. به‌طور پیش‌فرض، تلاش می‌کند صفحه‌بند راهنما (manpager) را برای ابزار فراخوانی کند، اما در صورت شکست، خلاصه کوتاهی از ابزار را نشان می‌دهد\&. این رفتار مشابه زمانی است که آرگومان گزینه \[lq]man\[rq] مشخص شده باشد، با این حال اگر صراحتاً \[lq]man\[rq] درخواست شود، ابزار خطاهای دریافتی از man را در خروجی خطای استاندارد (stderr) گزارش می‌کند\&. اگر گزینه \[lq]no\-man\[rq] مشخص شود یا فراخوانی manpager شکست بخورد، گزینه‌های کوتاه در خروجی استاندارد چاپ خواهند شد\&. .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 ارسال می‌شود تا انجام عملیات را مجاز کند\&. از این گزینه می‌توان برای جلوگیری از مشکلات ناشی از نشست‌های بدون سالت در حالت OpenSSL FIPS استفاده کرد\&. اگر مقادیر auth به کار گرفته شوند، باید از یک نشست با سالت برای احراز هویت استفاده شود\&. .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 دستگاه، فایل دستگاه نویسه‌ای 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 مترادف یکدیگر هستند\&. .RE .SH "مثال‌ها (EXAMPLES)" .SS "تولید ۲۰ بایت تصادفی و خروجی دادن داده‌های باینری به یک فایل" .IP .EX tpm2_getrandom \-o random.out 20 .EE .SS "تولید ۸ بایت تصادفی و خروجی دادن داده‌های قالب‌بندی‌شده با هگزادسیمال به stdout" .IP .EX tpm2_getrandom 8 \-\-hex .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 مجوز بین‌المللی کریتیو کامنز ارجاع 4.0 (CC BY 4.0) .UE \c منتشر شده است\&.