SQ(1) User Commands SQ(1)

sq-key - مدیریت کلیدها

sq key list [OPTIONS] FINGERPRINT|KEYID|PATTERN
sq key generate [OPTIONS]
sq key rotate [OPTIONS]
sq key import [OPTIONS] KEY_FILE
sq key export [OPTIONS]
sq key delete [OPTIONS]
sq key password [OPTIONS]
sq key expire [OPTIONS]
sq key revoke [OPTIONS]
sq key userid [OPTIONS] SUBCOMMAND
sq key subkey [OPTIONS] SUBCOMMAND
sq key approvals [OPTIONS] SUBCOMMAND

مدیریت کلیدها.

ما از واژه «کلید» (key) برای اشاره به کلیدهای OpenPGP که حاوی داده‌های محرمانه هستند استفاده می‌کنیم. این زیردستور ابزارهای پایه‌ای برای تولید و دستکاری کلیدها را فراهم می‌کند.

در مقابل، از اصطلاح «گواهی» (certificate) یا به‌اختصار «cert» برای اشاره به کلیدهای OpenPGP که فاقد داده‌های محرمانه هستند استفاده می‌نماییم. برای انجام عملیات روی گواهی‌ها، `sq cert` را ببینید.

فهرست کردن کلیدهای مدیریت‌شده توسط مخزن کلید.

تولید یک کلید جدید.

تولید کلید پیش‌نیاز دریافت پیام‌های رمزگذاری‌شده و ایجاد امضاها است. پارامترهای اندکی برای این فرایند وجود دارد، اما مقادیر پیش‌فرض معقولی برای بیشتر کاربران در نظر گرفته شده است.

هنگام تولید کلید، یک گواهی باطل‌سازی اضطراری نیز تولید می‌شود. در صورت مفقود شدن یا افشای کلید، می‌توان از این گواهی استفاده کرد. این گواهی در کنار کلید ذخیره می‌شود. این رفتار با استفاده از آرگومان `--rev-cert` قابل تغییر است.

به‌طور پیش‌فرض، کلید پس از ۳ سال منقضی می‌شود. این مقدار با استفاده از آرگومان `--expiration` قابل تغییر است.

دستور `sq key generate` زمان مرجع تعیین‌شده توسط آرگومان سطح‌بالای `--time` را رعایت می‌کند. این دستور زمان ایجاد کلید اصلی، زیرکلیدها و امضاهای اتصال را روی این زمان مرجع تنظیم می‌نماید.

چرخش (تغییر دوره‌ای) یک گواهی.

یک گواهی جدید جهت جایگزینی با گواهی موجود تولید می‌کند.

گواهی جدید همان قابلیت‌های گواهی قبلی را خواهد داشت. این مورد می‌تواند با استفاده از آرگومان‌های `--can-sign`، `--cannot-sign` و غیره بازنویسی شود. نکته: گواهی جدید ممکن است ساختاری متفاوت از گواهی قبلی داشته باشد؛ برای نمونه، اگر کلید اصلی گواهی قبلی هم دارای قابلیت صدور گواهی و هم امضا علامت‌گذاری شده باشد، کلید اصلی گواهی جدید دارای قابلیت صدور گواهی خواهد بود و یک زیرکلید برای امضا خواهد داشت.

به‌طور پیش‌فرض، اعتبار گواهی پس از ۳ سال منقضی می‌شود. این مقدار با استفاده از آرگومان `--expiration` قابل تغییر است.

گواهی جدید همان شناسه‌های کاربری خودامضاشدهٔ گواهی قبلی را خواهد داشت. شناسه‌های کاربری باطل‌شده نادیده گرفته می‌شوند.

گواهی جدید و گواهی قبلی یکدیگر را به‌صورت متقابل به عنوان معرفی‌کنندگان معتمدِ نامحدود تأیید خواهند کرد.

گواهی جدید به همان شیوه‌ای پیوند داده خواهد شد که گواهی قبلی پیوند یافته بود. این رفتار می‌تواند با استفاده از آرگومان‌های `--own-key` یا `--shared-key` بازنویسی شود.

گواهی جدید همان گواهی‌هایی را تأیید خواهد کرد که توسط گواهی قبلی تأیید شده بودند؛ بدین معنا که تأییدیه‌های گواهی قبلی بازپخش خواهند شد. برای اطلاعات بیشتر `sq pki vouch replay` را ببینید.

یک گواهی باطل‌سازی صادر خواهد شد که نشان می‌دهد گواهی قبلی بازنشسته شده و باید به جای آن از گواهی جدید استفاده شود. این گواهی به‌طور پیش‌فرض پس از ۱۸۲ روز اجرایی می‌شود. این مدت با استفاده از آرگومان `--retire-in` قابل تغییر یا متوقف‌سازی است.

هنگام استفاده از `--output`، گواهی جدید به همراه تمامی گواهی‌های به‌روزرسانی‌شدهٔ دیگر در فایل مشخص‌شده نوشته می‌شوند.

پایدار از نسخه 1.2.0.

وارد کردن کلیدها به مخزن کلید.

صادر کردن کلیدها از مخزن کلید.

داده‌های کلید محرمانهٔ مرتبط با یک گواهی را صادر می‌کند. توجه داشته باشید که حتی در صورت در دسترس بودن داده‌های کلید محرمانه، ممکن است امکان برون‌بری آن‌ها وجود نداشته باشد؛ به عنوان مثال، داده‌های کلید محرمانه که روی ماژول امنیت سخت‌افزاری (HSM) ذخیره شده‌اند، معمولاً از دستگاه قابل برون‌بری نیستند.

روی تمام گواهی‌های مشخص‌شده پیمایش می‌کند و هر کلیدی (کلید اصلی و زیرکلیدها) را که شامل داده‌های کلید محرمانه باشد صادر می‌کند. در صورتی که هر یک از گواهی‌های مشخص‌شده حاوی اطلاعات کلید محرمانه نباشد، یک خطا بازگردانده می‌شود.

اگر می‌خواهید تنها یک کلید خاص و نه تمامی کلیدهای مرتبط با یک گواهی را صادر کنید، از `sq key subkey export` استفاده نمایید.

حذف داده‌های کلید محرمانهٔ یک گواهی.

تغییر گذرواژهٔ محافظت‌کننده از داده‌های کلید محرمانه.

داده‌های کلید محرمانه می‌توانند با یک گذرواژه محافظت شوند. این زیردستور گذرواژه را تغییر داده یا پاک می‌کند.

برای حذف گذرواژه، یا از `--clear` استفاده کنید یا هنگام درخواست گذرواژهٔ جدید، یک گذرواژه با طول صفر (خالی) وارد نمایید.

اگر کلیدی با گذرواژه محافظت شده باشد و گذرواژهٔ صحیح با استفاده از آرگومان `--password-file` ارائه نشده باشد، از کاربر برای وارد کردن گذرواژه درخواست می‌شود. به همین ترتیب، اگر گذرواژهٔ جدید ارائه نشده باشد، از کاربر سؤال خواهد شد.

تغییر زمان انقضای یک گواهی.

این زیردستور زمان انقضای یک گواهی را تغییر می‌دهد. برای تغییر زمان انقضای یک زیرکلید به‌صورت مجزا، از زیردستور `sq key subkey expire` استفاده کنید.

باطل‌سازی یک گواهی.

یک گواهی باطل‌سازی برای یک گواهی ایجاد می‌کند.

اگر `--revoker` یا `--revoker-file` مشخص شده باشد، از آن کلید برای ایجاد گواهی باطل‌سازی استفاده می‌شود. اگر آن کلید با گواهی‌ای که در حال باطل‌شدن است متفاوت باشد، به یک باطل‌سازی شخص ثالث منجر خواهد شد. این حالت معمولاً تنها در صورتی سودمند است که مالک گواهی، کلید مذکور را به عنوان باطل‌کنندهٔ معین (designated revoker) تعیین کرده باشد.

دستور `sq key revoke` زمان مرجع تعیین‌شده توسط آرگومان سطح‌بالای `--time` را رعایت می‌کند. در صورت تنظیم بودن، هنگام تشخیص اعتبار کلیدها به‌جای زمان فعلی از زمان مشخص‌شده استفاده می‌کند و زمان ایجاد گواهی باطل‌سازی را نیز به‌جای زمان فعلی روی زمان مرجع تنظیم می‌نماید. مدیریت شناسه‌های کاربری.

افزودن شناسه‌های کاربری به یک کلید، یا ابطال آن‌ها.

مدیریت زیرکلیدها.

افزودن زیرکلیدهای جدید به یک گواهی موجود، تغییر تاریخ انقضای آن‌ها، و ابطال آن‌ها.

مدیریت تأییدیه‌های گواهی‌گذاری.

دارندگان کلید می‌توانند گواهی‌گذاری‌های شخص ثالث مرتبط با گواهی خود را تأیید کنند. این زیردستور، تأییدیه‌ها را مدیریت می‌کند.

برای جلوگیری از حملات طغیان گواهی (certificate flooding attacks)، کارسازهای مدرن کلید از توزیع مهارنشده‌ی گواهی‌گذاری‌های شخص ثالث بر روی گواهی‌ها ممانعت می‌کنند. برای آن‌که به دارنده کلید اجازه داده شود اطلاعاتی را که با گواهی او توزیع می‌شود کنترل کند، این کارسازهای کلید تنها گواهی‌گذاری‌های شخص ثالثی را توزیع می‌کنند که دارنده کلید صراحتاً آن‌ها را تأیید کرده باشد.

فهرست کردن کلیدهای مدیریت‌شده توسط کارساز مخزن کلید.

sq key list

فهرست کردن کلیدهای مدیریت‌شده توسط کارساز مخزن کلید با شناسه کاربری در example.org.

sq key list --cert-domain=example.org

تولید یک کلید و ذخیره آن در مخزن کلید.

sq key generate --own-key --name Alice --email \
alice@example.org

تولید یک کلید و ذخیره آن در یک فایل به‌جای مخزن کلید.

sq key generate --own-key --name Alice --email \
alice@example.org --output alice-priv.pgp --rev-cert \
alice-priv.rev

چرخش گواهی Alice.

sq key rotate --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0

وارد کردن کلیدها به مخزن کلید.

sq key import alice-secret.pgp

برون‌بری گواهی Alice به همراه تمام داده‌های کلید محرمانه موجود.

sq key export --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0

برون‌بری گواهی Alice مشخص‌شده با نشانی رایانامه به همراه تمام داده‌های کلید محرمانه موجود.

sq key export --cert-email alice@example.org

حذف هرگونه کلید مخفی مرتبط با گواهی Alice.

sq key delete --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0

حذف هرگونه کلید مخفی مرتبط با گواهی Alice که بر اساس شناسه کاربری (user ID) انتخاب شده است.

sq key delete --cert-email=alice@example.org

تغییر گذرواژه تمام کلیدهای Alice به گذرواژه موجود در فایل مشخص‌شده.

sq key password --new-password-file password-file.txt --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0

حذف محافظت با گذرواژه برای تمام کلیدهای Alice.

sq key password --password-file password-file.txt \
--clear-password --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0

تغییر تاریخ انقضای گواهی Alice به یک سال آینده.

sq key expire --expiration 1y --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0

تغییر گواهی Alice به‌گونه‌ای که هرگز منقضی نشود.

sq key expire --expiration never --cert \
EB28F26E2739A4870ECC47726F0073F60FD0CBF0

ابطال کلید Alice با مشخص کردن این‌که گواهی جدیدی جایگزین شده است.

sq key revoke --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--reason superseded --message \
"My new cert is C5999E8191BF7B503653BE958B1F7910D01F86E5"

ابطال کلید با مشخص کردن این‌که محتوای کلید مخفی افشا شده و به خطر افتاده است.

sq key revoke --cert EB28F26E2739A4870ECC47726F0073F60FD0CBF0 \
--reason compromised --message \
"Computer attacked, secret key material compromised"
sq(1), sq-key-list(1), sq-key-generate(1), sq-key-rotate(1), sq-key-import(1), sq-key-export(1), sq-key-delete(1), sq-key-password(1), sq-key-expire(1), sq-key-revoke(1), sq-key-userid(1), sq-key-subkey(1), sq-key-approvals(1).

برای مستندات کامل، https://book.sequoia-pgp.org را ببینید.

1.4.0

1.4.0 Sequoia PGP