.\" Copyright (c) 2018-2026 Yubico AB. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions are .\" met: .\" .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS .\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR .\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT .\" HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE .\" OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" .Dd $Mdocdate: March 9 2026 $ .Dt FIDO2-TOKEN 1 .Os .Sh "نام (NAME)" .Nm fido2-token .Nd مدیریت و تعامل با توکن‌های امنیتی FIDO 2.0 / CTAP 2.0 .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Fl C .Op Fl d .Ar device .Nm .Fl D .Op Fl d .Fl i .Ar cred_id .Ar device .Nm .Fl D .Fl b .Op Fl d .Fl k Ar key_path .Ar device .Nm .Fl D .Fl b .Op Fl d .Fl n Ar rp_id .Op Fl i Ar cred_id .Ar device .Nm .Fl D .Fl e .Op Fl d .Fl i .Ar template_id .Ar device .Nm .Fl D .Fl u .Op Fl d .Ar device .Nm .Fl G .Fl b .Op Fl d .Fl k Ar key_path .Ar blob_path .Ar device .Nm .Fl G .Fl b .Op Fl d .Fl n Ar rp_id .Op Fl i Ar cred_id .Ar blob_path .Ar device .Nm .Fl G .Fl t Ar ppuat_path .Ar device .Nm .Fl I .Op Fl cd .Op Fl k Ar rp_id Fl i Ar cred_id .Op Fl t Ar ppuat_path .Ar device .Nm .Fl L .Op Fl bder .Op Fl k Ar rp_id .Op device .Nm .Fl R .Op Fl d .Ar device .Nm .Fl S .Op Fl adefu .Ar device .Nm .Fl S .Op Fl d .Fl i Ar template_id .Fl n Ar template_name .Ar device .Nm .Fl S .Op Fl d .Fl l Ar pin_length .Ar device .Nm .Fl S .Fl b .Op Fl d .Fl k Ar key_path .Ar blob_path .Ar device .Nm .Fl S .Fl b .Op Fl d .Fl n Ar rp_id .Op Fl i Ar cred_id .Ar blob_path .Ar device .Nm .Fl S .Fl c .Op Fl d .Fl i Ar cred_id .Fl k Ar user_id .Fl n Ar name .Fl p Ar display_name .Ar device .Nm .Fl S .Fl m .Ar rp_id .Ar device .Nm .Fl V .Sh "توضیحات (DESCRIPTION)" .Nm یک احرازکننده‌ی هویت FIDO2 را مدیریت می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl C Ar device پین (PIN) .Ar device را تغییر می‌دهد. از کاربر برای وارد کردن پین فعلی و جدید درخواست خواهد شد. .It Fl D Fl i Ar id Ar device گواهی‌نامه کاربری ذخیره‌شده (resident credential) مشخص‌شده توسط .Ar id را از .Ar device حذف می‌کند، که در آن .Ar id شناسه گواهی‌نامه با کدگذاری base64 است. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl D Fl b Fl k Ar key_path Ar device یک .Dq largeBlob رمزگذاری‌شده با .Ar key_path را از .Ar device حذف می‌کند، که در آن .Ar key_path حاوی کلید رمزنگاری ۳۲ بایتی AES-256 GCM با کدگذاری base64 برای blob است. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl D Fl b Fl n Ar rp_id Oo Fl i Ar cred_id Oc Ar device یک .Dq largeBlob مربوط به .Ar rp_id را از .Ar device حذف می‌کند. اگر .Ar rp_id دارای چندین گواهی‌نامه ثبت‌شده روی .Ar device باشد، شناسه گواهی‌نامه باید با استفاده از .Fl i Ar cred_id مشخص شود، که در آن .Ar cred_id یک blob با کدگذاری base64 است. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl D Fl e Fl i Ar id Ar device ثبت‌نام بیومتریک مشخص‌شده توسط .Ar id را از .Ar device حذف می‌کند، که در آن .Ar id شناسه قالب ثبت‌نام با کدگذاری base64 است. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl D Fl u Ar device ویژگی CTAP 2.1 .Dq تایید هویت همیشگی کاربر (user verification always) را روی .Ar device غیرفعال می‌کند. .It Fl G Fl t Ar ppuat_path Ar device یک توکن احراز هویت دائمی PIN/UV از نسخه CTAP 2.2 با دسترسی‌های فقط‌خواندنی مدیریت گواهی‌نامه را از .Ar device دریافت کرده و آن را در .Ar ppuat_path می‌نویسد. .It Fl G Fl b Fl k Ar key_path Ar blob_path Ar device یک .Dq largeBlob از نسخه CTAP 2.1 که با .Ar key_path رمزگذاری شده است را از .Ar device دریافت می‌کند، که در آن .Ar key_path حاوی کلید رمزنگاری ۳۲ بایتی AES-256 GCM با کدگذاری base64 برای blob است. داده blob در .Ar blob_path نوشته می‌شود. .It Fl G Fl b Fl n Ar rp_id Oo Fl i Ar cred_id Oc Ar blob_path Ar device یک .Dq largeBlob از نسخه CTAP 2.1 مرتبط با .Ar rp_id را از .Ar device دریافت می‌کند. اگر .Ar rp_id دارای چندین گواهی‌نامه ثبت‌شده روی .Ar device باشد، شناسه گواهی‌نامه باید با استفاده از .Fl i Ar cred_id مشخص شود، که در آن .Ar cred_id یک blob با کدگذاری base64 است. داده blob در .Ar blob_path نوشته می‌شود. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl I Ar device Op Fl t Ar ppuat_path اطلاعات مربوط به .Ar device را دریافت می‌کند. اگر .Fl t Ar ppuat_path داده شده باشد، .Nm تلاش می‌کند از توکن احراز هویت دائمی PIN/UV مربوط به CTAP 2.2 ذخیره‌شده در فایل برای رمزگشایی اطلاعات رمزگذاری‌شده دستگاه استفاده کند. .It Fl I Fl c Ar device متادیتای گواهی‌نامه‌های کاربری ذخیره‌شده (resident credential) را از .Ar device دریافت می‌کند. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl I Fl k Ar rp_id Fl i Ar cred_id Ar device شناسه گواهی‌نامه (با کدگذاری base64) و کلید عمومی (با کدگذاری PEM) مربوط به گواهی‌نامه کاربری ذخیره‌شده مشخص‌شده توسط .Ar rp_id و .Ar cred_id را چاپ می‌کند، که در آن .Ar rp_id یک شناسه طرف اعتماد (relying party id) به صورت UTF-8 و .Ar cred_id یک شناسه گواهی‌نامه با کدگذاری base64 است. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl L فهرستی از احرازکننده‌های هویت شناسایی‌شده توسط سیستم‌عامل را نمایش می‌دهد. .It Fl L Fl b Ar device فهرستی از .Dq largeBlobs مربوط به CTAP 2.1 را روی .Ar device نمایش می‌دهد. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl L Fl e Ar device فهرستی از ثبت‌نام‌های بیومتریک روی .Ar device را نمایش می‌دهد. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl L Fl r Ar device فهرستی از طرف‌های اعتماد (relying parties) دارای گواهی‌نامه‌های کاربری ذخیره‌شده روی .Ar device را نمایش می‌دهد. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl L Fl k Ar rp_id Ar device فهرستی از گواهی‌نامه‌های کاربری ذخیره‌شده متناظر با طرف اعتماد .Ar rp_id را روی .Ar device نمایش می‌دهد. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl R یک بازنشانی (reset) را روی .Ar device انجام می‌دهد. .Nm برای تایید از کاربر درخواست نخواهد کرد. .It Fl S پین .Ar device را تنظیم می‌کند. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl a Ar device ویژگی تصدیق سازمانی (Enterprise Attestation) مربوط به CTAP 2.1 را روی .Ar device فعال می‌کند. .It Fl S Fl b Fl k Ar key_path Ar blob_path Ar device یک .Dq largeBlob از نسخه CTAP 2.1 رمزگذاری‌شده با .Ar key_path را روی .Ar device تنظیم می‌کند، که در آن .Ar key_path حاوی کلید رمزنگاری ۳۲ بایتی AES-256 GCM با کدگذاری base64 برای blob است. داده blob از .Fa blob_path خوانده می‌شود. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl S Fl b Fl n Ar rp_id Oo Fl i Ar cred_id Oc Ar blob_path Ar device یک .Dq largeBlob از نسخه CTAP 2.1 مرتبط با .Ar rp_id را روی .Ar device تنظیم می‌کند. داده blob از .Fa blob_path خوانده می‌شود. اگر .Ar rp_id دارای چندین گواهی‌نامه ثبت‌شده روی .Ar device باشد، شناسه گواهی‌نامه باید با استفاده از .Fl i Ar cred_id مشخص شود، که در آن .Ar cred_id یک blob با کدگذاری base64 است. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl S Fl c Fl i Ar cred_id Fl k Ar user_id Fl n Ar name Fl p Ar display_name Ar device ویژگی‌های .Ar name و .Ar display_name مربوط به گواهی‌نامه کاربری ذخیره‌شده شناسایی‌شده توسط .Ar cred_id و .Ar user_id را تنظیم می‌کند، که در آن .Ar name و .Ar display_name رشته‌های UTF-8 و .Ar cred_id و .Ar user_id داده‌های blob با کدگذاری base64 هستند. پین یا ژست معادل تایید هویت کاربر الزامی است. .It Fl S Fl e Ar device یک ثبت‌نام بیومتریک جدید را روی .Ar device انجام می‌دهد. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl e Fl i Ar template_id Fl n Ar template_name Ar device نام نمایشی (friendly name) ثبت‌نام بیومتریک مشخص‌شده توسط .Ar template_id را روی .Ar device به .Ar template_name تغییر می‌دهد، که در آن .Ar template_id با base64 کدگذاری شده و .Ar template_name یک رشته UTF-8 است. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl f Ar device تغییر اجباری پین (PIN) را روی .Ar device اعمال می‌کند. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl l Ar pin_length Ar device حداقل طول پین .Ar device را روی .Ar pin_length تنظیم می‌کند. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl m Ar rp_id Ar device فهرست شناسه‌های طرف اعتماد مجاز برای دریافت حداقل طول پین .Ar device را تنظیم می‌کند. شناسه‌های متعدد را می‌توان با کاما جدا کرد. از کاربر برای وارد کردن پین درخواست خواهد شد. .It Fl S Fl u Ar device ویژگی CTAP 2.1 .Dq تایید هویت همیشگی کاربر (user verification always) را روی .Ar device فعال می‌کند. .It Fl V اطلاعات نسخه را چاپ می‌کند. .It Fl d باعث می‌شود .Nm خروجی اشکال‌زدایی (debugging) را روی .Em stderr ارسال کند. .El .Pp اگر یک .Em tty در دسترس باشد، .Nm از آن برای درخواست پین‌ها استفاده خواهد کرد. در غیر این صورت، از .Em stdin استفاده می‌شود. .Pp .Nm در صورت موفقیت با کد 0 و در صورت بروز خطا با کد 1 خارج می‌شود. .Sh "همچنین ببینید (SEE ALSO)" .Xr fido2-assert 1 , .Xr fido2-cred 1 .Sh "هشدارها (CAVEATS)" فرآیند واقعی کاربر برای انجام بازنشانی (reset) خارج از محدوده مشخصات FIDO2 است و بنابراین ممکن است بسته به احرازکننده هویت متفاوت باشد. احرازکننده‌های هویت Yubico بعد از گذشت ۵ ثانیه از زمان اتصال اجازه بازنشانی نمی‌دهند، و انتظار دارند بازنشانی توسط کاربر از طریق لمس فیزیکی ظرف مدت ۳۰ ثانیه تایید شود. .Pp مسیر احرازکننده هویت ممکن است حاوی فاصله باشد. .Pp گواهی‌نامه‌های کاربری ذخیره‌شده (resident credentials) در نسخه CTAP 2.1 به عنوان .Dq discoverable credentials (گواهی‌نامه‌های قابل کشف) نامیده می‌شوند. .Pp فعال یا غیرفعال بودن ویژگی CTAP 2.1 .Dq user verification always (تایید هویت همیشگی کاربر) پس از بازنشانی احرازکننده هویت، به سازنده سخت‌افزار بستگی دارد.