| GPGSM(1) | GNU Privacy Guard 2.4 | GPGSM(1) |
نام (NAME)
gpgsm - ابزار رمزنگاری و امضای دیجیتال برای کلیدهای X.509 و پروتکل S/MIME
خلاصه دستور (SYNOPSIS)
gpgsm [--homedir dir] [--options file] [گزینهها] دستور [آرگومانها]
توضیحات (DESCRIPTION)
ابزار gpgsm برنامهای مشابه gpg برای ارائه خدمات رمزنگاری و امضای دیجیتال روی گواهیهای X.509 و پروتکل CMS است. این ابزار عمدتاً به عنوان یک بخش پشتیبان (backend) برای پردازش ایمیلهای S/MIME به کار میرود. gpgsm شامل مدیریت کامل گواهیها بوده و با تمامی قواعد تعریفشده برای پروژه آلمانی Sphinx مطابقت دارد.
دستورات (COMMANDS)
دستورات تفاوتی با گزینهها ندارند، جز در این مورد که تنها استفاده از یک دستور مجاز است.
دستورات عمومی و غیروابسته به عملکرد
- --version
- نسخه برنامه و اطلاعات مجوز را چاپ میکند. توجه داشته باشید که نمیتوانید این دستور را به صورت مخفف به کار ببرید.
- --help, -h
- پیام نحوه استفاده را که خلاصهای از کاربردیترین گزینههای خط فرمان است، چاپ میکند. توجه داشته باشید که نمیتوانید این دستور را به صورت مخفف به کار ببرید.
- --warranty
- اطلاعات ضمانتنامه را چاپ میکند. توجه داشته باشید که نمیتوانید این دستور را به صورت مخفف به کار ببرید.
- --dump-options
- فهرستی از تمامی گزینهها و دستورات موجود را چاپ میکند. توجه داشته باشید که نمیتوانید این دستور را به صورت مخفف به کار ببرید.
دستورات انتخاب نوع عملیات
- --encrypt
- یک عملیات رمزنگاری را انجام میدهد. کلیدهایی که دادهها برای آنها رمزنگاری میشوند باید با استفاده از گزینه --recipient تنظیم شوند.
- --decrypt
- یک عملیات رمزگشایی را انجام میدهد؛ نوع ورودی به طور خودکار تعیین میشود. ورودی میتواند به شکل باینری یا کدگذاریشده با PEM باشد؛ تشخیص خودکار کدگذاری base-64 انجام نمیشود.
- --sign
- یک امضای دیجیتال ایجاد میکند. کلید مورد استفاده یا نخستین کلید یافتشده در جعبهکلید (keybox) است یا کلیدهایی که با گزینه --local-user مشخص شدهاند.
- --verify
- معتبر بودن یک فایل امضا را بررسی میکند. بسته به آرگومانها، یک امضای جداگانه (detached) نیز ممکن است بررسی شود.
- --server
- در حالت سرور اجرا میشود و در stdin منتظر دستورات میماند.
- --call-dirmngr command [args]
- مانند یک
کلاینت Dirmngr
عمل کرده و
درخواست command
را به همراه
فهرست
اختیاری args
ارسال
میکند.
خروجی Dirmngr در stdout
چاپ میشود.
لطفاً توجه
داشته
باشید نام
فایلهایی
که به عنوان
آرگومان
داده
میشوند
باید نام
فایل مطلق
باشند (یعنی
با / شروع
شوند) زیرا
آنها
عیناً به Dirmngr
منتقل
میشوند و
ممکن است
دایرکتوری
کاری Dirmngr با
دایرکتوری
کاری این
کلاینت
یکسان
نباشد. در
حال حاضر
امکان
ارسال داده
از طریق stdin به
Dirmngr وجود
ندارد. command
نباید شامل
فاصله باشد.
این دستور برای برخی از وظایف نگهداری dirmngr که در آنها dirmngr باید بتواند فراخوانی متقابل (callback) به gpgsm داشته باشد، ضروری است. برای جزئیات بیشتر به کتابچه راهنمای Dirmngr مراجعه کنید.
- --call-protect-tool arguments
- برخی از عملیات نگهداری توسط یک برنامه خارجی به نام gpg-protect-tool انجام میشود؛ این برنامه معمولاً در دایرکتوریهای فهرستشده در متغیر PATH نصب نمیشود. این دستور یک پوسته واسط (wrapper) ساده برای دسترسی به این ابزار فراهم میکند. arguments عیناً به این دستور منتقل میشوند؛ برای دریافت فهرستی از عملیات پشتیبانیشده از ‘--help’ استفاده کنید.
نحوه مدیریت گواهیها و کلیدها
- --generate-key
- --gen-key
- این دستور امکان ایجاد یک درخواست امضای گواهی (CSR) یا یک گواهی خودامضا (self-signed) را فراهم میکند. معمولاً همراه با گزینه --output برای ذخیره CSR یا گواهی ایجادشده در یک فایل استفاده میشود. در صورت استفاده به همراه --batch، از یک فایل پارامتر برای ایجاد CSR یا گواهی استفاده میشود و علاوه بر این، امکان ایجاد گواهیهای غیرخودامضا نیز وجود خواهد داشت.
- --list-keys
- -k
- فهرست کردن تمام گواهیهای موجود در پایگاهداده محلی کلیدها. توجه داشته باشید که ممکن است دادههای نمایشدادهشده برای خوانایی بهتر توسط انسان قالببندی مجدد شوند و نویسههای غیرمجاز با جایگزینهای امن تعویض گردند.
- --list-secret-keys
- -K
- فهرست کردن تمام گواهیهای موجود که کلید خصوصی متناظر برای آنها در دسترس است.
- --list-external-keys pattern
- فهرست کردن گواهیهای منطبق بر pattern با استفاده از یک سرور خارجی. این دستور از سرویس dirmngr بهره میبرد.
- --list-chain
- مشابه --list-keys است اما تمامی کلیدهای سازنده زنجیره را نیز چاپ میکند.
- --dump-cert
- --dump-keys
- فهرست کردن تمام گواهیهای موجود در پایگاهداده محلی کلیدها با قالبی که عمدتاً برای اشکالزدایی سودمند است.
- --dump-chain
- مشابه --dump-keys است اما تمامی کلیدهای سازنده زنجیره را نیز چاپ میکند.
- --dump-secret-keys
- فهرست کردن تمام گواهیهای موجود که کلید خصوصی متناظر برای آنها در دسترس است، با قالبی که عمدتاً برای اشکالزدایی سودمند است.
- --dump-external-keys pattern
- فهرست کردن گواهیهای منطبق بر pattern با استفاده از یک سرور خارجی. این دستور از سرویس dirmngr بهره میبرد و از قالبی استفاده میکند که عمدتاً برای اشکالزدایی سودمند است.
- --show-certs [files]
- این دستور
فایلهای
گواهی را به
عنوان
ورودی
دریافت
کرده و
اطلاعات
مربوط به
آنها را با
همان قالبی
که دستور
--dump-cert ارائه
میدهد چاپ
میکند. هر
فایل
میتواند
شامل یک
گواهی
باینری
منفرد یا
چندین
گواهی
کدگذاریشده
با PEM باشد.
اگر هیچ
فایلی مشخص
نشود،
ورودی از stdin
دریافت
میشود.
لطفاً توجه داشته باشید که ممکن است قالب فهرستبندی در نسخههای آینده تغییر کند و گزینه --with-colons در حال حاضر هیچ تأثیری ندارد.
- --keydb-clear-some-cert-flags
- این یک ابزار کمکی برای اشکالزدایی جهت بازنشانی پرچمهای خاصی در پایگاهداده کلید است که برای ذخیره موقت (کش) برخی وضعیتهای گواهی به کار میروند. این دستور بهویژه زمانی سودمند است که یک CRL نادرست یا یک پاسخدهنده OCSP با رفتار غیرعادی، به طور تصادفی گواهی را باطل کرده باشد. این دستور هیچ مشکل امنیتی به همراه ندارد زیرا gpgsm همیشه اطمینان مییابد که اعتبار یک گواهی دقیقاً پیش از استفاده از آن بررسی شود.
- --delete-keys pattern
- حذف کلیدهای منطبق با pattern. توجه داشته باشید که هیچ دستوری برای حذف مستقیم بخش خصوصی کلید وجود ندارد. در صورتی که نیاز به انجام این کار دارید، باید پیش از حذف کلید، دستور gpgsm --dump-secret-keys KEYID را اجرا کرده، رشته ارقام هگزادسیمال موجود در خط ‘keygrip’ را کپی نمایید و فایل متشکل از این ارقام هگزادسیمال و پسوند .key را از دایرکتوری ‘private-keys-v1.d’ در زیر دایرکتوری خانگی GnuPG ما (معمولاً ‘~/.gnupg’) حذف کنید.
- --export [pattern]
- صادر کردن تمام گواهیهای ذخیرهشده در Keybox یا گواهیهایی که توسط pattern اختیاری مشخص شدهاند. این الگوها شامل فهرستی از شناسههای کاربری هستند (ببینید: [how-to-specify-a-user-id]). در صورت استفاده به همراه گزینه --armor، چند خط اطلاعاتی پیش از هر بلوک اضافه میشود. یک محدودیت وجود دارد: از آنجا که هیچ روش مورد توافق عمومی برای بستهبندی بیش از یک گواهی در یک ساختار ASN.1 وجود ندارد، صدور باینری (یعنی بدون استفاده از armor) تنها برای صدور یک گواهی عمل میکند. بنابراین لازم است یک pattern مشخص شود که دقیقاً یک گواهی را بازگرداند. گواهیهای موقت (Ephemeral) تنها در صورتی صادر میشوند که تمامی مقادیر pattern به صورت اثرانگشت (fingerprint) یا keygrip ارائه شده باشند.
- --export-secret-key-p12 key-id
- صادر کردن کلید خصوصی و گواهی شناساییشده توسط key-id با استفاده از قالب PKCS#12. در صورت استفاده با گزینه --armor، چند خط اطلاعاتی به ابتدای خروجی اضافه میشود. توجه داشته باشید که قالب PKCS#12 چندان امن نیست و برای انتقال کلید صادرشده باید از امنیت انتقال مناسب استفاده شود. (ببینید: [option --p12-charset].)
- --export-secret-key-p8 key-id
- --export-secret-key-raw key-id
- صادر کردن کلید خصوصی گواهی شناساییشده توسط key-id به گونهای که هرگونه لایه رمزنگاری از آن حذف شده باشد. دستور ...-raw در قالب PKCS#1 و دستور ...-p8 در قالب PKCS#8 صادر میکند. در صورت استفاده با گزینه --armor، چند خط اطلاعاتی به خروجی اضافه میشود. این دستورات برای آمادهسازی یک کلید جهت استفاده در یک سرور TLS سودمند هستند.
- --import [files]
- وارد کردن گواهیها از فایلهای کدگذاریشده دودویی یا PEM و همچنین از پیامهای صرفاً امضاشده. این دستور ممکن است برای وارد کردن یک کلید خصوصی از یک فایل PKCS#12 نیز به کار رود.
- --learn-card
- خواندن اطلاعات مربوط به کلیدهای خصوصی از کارت هوشمند و وارد کردن گواهیها از آنجا. این دستور از gpg-agent و به نوبه خود از scdaemon استفاده میکند.
- --change-passphrase user_id
- --passwd user_id
- تغییر عبارت عبور کلید خصوصی متعلق به گواهی مشخصشده توسط user_id. توجه داشته باشید که تغییر عبارت عبور/PIN یک کارت هوشمند هنوز پشتیبانی نمیشود.
گزینهها (OPTIONS)
GPGSM مجموعهای از گزینهها را برای کنترل دقیق رفتار برنامه و تغییر پیکربندی پیشفرض ارائه میدهد.
نحوه تغییر پیکربندی (How to change the configuration)
این گزینهها برای تغییر پیکربندی استفاده میشوند و معمولاً در فایل گزینهها یافت میشوند.
- --options file
- پیکربندی را بهجای فایل پیشفرض کاربر، از file میخواند. فایل پیکربندی پیشفرض ‘gpgsm.conf’ نام دارد و انتظار میرود مستقیماً در دایرکتوری ‘.gnupg’ زیر دایرکتوری خانگی کاربر قرار داشته باشد.
- --homedir dir
- نام
دایرکتوری
خانگی را
روی dir
تنظیم
میکند. اگر
از این
گزینه
استفاده
نشود،
دایرکتوری
خانگی
بهطور
پیشفرض
‘~/.gnupg’ خواهد
بود. این
گزینه تنها
زمانی
شناسایی
میشود که
در خط فرمان
داده شده
باشد. این
گزینه
همچنین بر
هر
دایرکتوری
خانگی
دیگری که از
طریق متغیر
محیطی ‘GNUPGHOME’
یا (در
سیستمهای
ویندوز)
بهواسطه
مدخل
رجیستری
HKCU\Software\GNU\GnuPG:HomeDir
تعیین شده
باشد،
اولویت
دارد.
در سیستمهای ویندوز امکان نصب GnuPG به عنوان یک برنامه پرتابل وجود دارد. در این حالت تنها این گزینه خط فرمان در نظر گرفته میشود و تمام روشهای دیگر تعیین دایرکتوری خانگی نادیده گرفته میشوند.
- -v
- --verbose
- اطلاعات بیشتری را حین اجرا در خروجی نمایش میدهد. میتوانید با دادن چندباره گزینههای پرگویی به gpgsm، مانند ‘-vv’، میزان جزئیات را افزایش دهید.
- --keyserver string
- این یک
گزینه
منسوخشده
است. پیشتر
برای
افزودن یک
سرور LDAP جهت
استفاده در
جستجوی
گواهینامه
X.509 و CRL
استفاده
میشد. نام
مستعار --ldapserver
از نسخه 2.2.28 تا
2.2.33 و 2.3.2 تا 2.3.4
وجود داشت
اما اکنون
کاملاً
نادیده
گرفته
میشود.
سرورهای LDAP باید در پیکربندی dirmngr مشخص شوند.
- --policy-file filename
- نام پیشفرض فایل خطمشی را به filename تغییر میدهد. نام پیشفرض ‘policies.txt’ است.
- --agent-program file
- یک برنامه عامل (agent) را برای استفاده در عملیات کلید مخفی مشخص میکند. مقدار پیشفرض با اجرای دستور gpgconf تعیین میشود. توجه داشته باشید که نماد پایپ (|) برای ترفندی در مجموعه آزمونهای رگرسیون استفاده میشود و بنابراین نباید در نام فایل به کار رود.
- --dirmngr-program file
- یک برنامه dirmngr را برای استفاده در بررسیهای CRL مشخص میکند. مقدار پیشفرض ‘/usr/bin/dirmngr’ است.
- --prefer-system-dirmngr
- این گزینه منسوخ شده است و نادیده گرفته میشود.
- --disable-dirmngr
- استفاده از Dirmngr را بهطور کامل غیرفعال میکند.
- --no-autostart
- در صورتی که gpg-agent یا dirmngr هنوز راهاندازی نشده باشند و سرویس آنها مورد نیاز باشد، آنها را راهاندازی نمیکند. این گزینه عمدتاً روی ماشینهایی مفید است که در آنها اتصال به gpg-agent به ماشین دیگری هدایت شده است. اگر در ماشین راه دور به dirmngr نیاز باشد، میتوان آن را بهصورت دستی با استفاده از gpgconf --launch dirmngr راهاندازی کرد.
- --no-secmem-warning
- زمانی که اصطلاحاً «حافظه امن» (secure memory) قابل استفاده نباشد، هشداری چاپ نمیکند.
- --log-file file
- هنگام اجرا در حالت سرور، تمام خروجیهای گزارش را به انتهای file الحاق میکند. برای ارسال گزارش به یک سوکت از ‘socket://’ استفاده کنید.
- --log-time
- حتی اگر از هیچ فایل گزارشی استفاده نشود، یک برچسب زمانی به ابتدای تمام خروجیهای گزارش اضافه میکند.
گزینههای مربوط به گواهینامه (Certificate related options)
- --enable-policy-checks
- --disable-policy-checks
- بهطور پیشفرض بررسیهای خطمشی فعال هستند. از این گزینهها میتوان برای تغییر آن استفاده کرد.
- --enable-crl-checks
- --disable-crl-checks
- بهطور پیشفرض بررسیهای CRL فعال هستند و از DirMngr برای بررسی گواهینامههای باطلشده استفاده میشود. گزینه غیرفعالسازی عمدتاً هنگام اتصال شبکه بهصورت آفلاین برای لغو این بررسی و همچنین جلوگیری از اینکه گواهینامههای جدید با گنجاندن یک CRL DP مختص گواهینامه یک اشکال وب (web bug) ایجاد کنند، بسیار مفید است. گزینه غیرفعالسازی همچنین جستجوی گواهینامه صادرکننده را از طریق ویژگی authorityInfoAccess گواهینامه غیرفعال میکند؛ با این حال میتوان از --enable-issuer-key-retrieve برای استفاده از این ویژگی در هر صورت استفاده کرد.
- --enable-trusted-cert-crl-check
- --disable-trusted-cert-crl-check
- بهطور پیشفرض، CRL برای گواهینامههای ریشه مورد اعتماد مانند هر گواهینامه دیگری بررسی میشود. این به یک CA اجازه میدهد تا گواهینامههای خود را بهصورت داوطلبانه و بدون نیاز به قرار دادن تمام گواهینامههای صادرشده تاکنون در یک CRL، باطل کند. از گزینه غیرفعالسازی میتوان برای خاموش کردن این بررسی اضافی استفاده کرد. به دلیل کش کردن (caching) انجامشده توسط Dirmngr، این کار باعث هیچ بهبود عملکرد محسوسی نخواهد شد. توجه داشته باشید که این کار همچنین بررسیهای احتمالی OCSP را برای گواهینامههای ریشه مورد اعتماد غیرفعال میکند. راهکار دقیقتر برای غیرفعال کردن این بررسی، افزودن کلیدواژه “relax” به سطر CA ریشه در ‘trustlist.txt’ است.
- --force-crl-refresh
- به dirmngr میگوید که CRL را برای هر درخواست مجدداً بارگذاری کند. برای عملکرد بهتر، dirmngr در واقع این مورد را با جلوگیری از بارگذاری در بازههای زمانی کوتاه (مثلاً ۳۰ دقیقه) بهینهسازی میکند. این گزینه برای اطمینان از اینکه یک CRL تازه برای گواهینامههای نگهداریشده در جعبهکلید (keybox) در دسترس است مفید میباشد. راهکار پیشنهادی برای انجام این کار استفاده از آن به همراه گزینه --with-validation برای یک دستور فهرست کردن کلید است. این گزینه نباید در یک فایل پیکربندی استفاده شود.
- --enable-issuer-based-crl-check
- یک بررسی CRL را حتی برای گواهینامههایی که هیچ نقطه توزیع CRL ندارند اجرا میکند. این امر مستلزم آن است که یک سرور LDAP مناسب در Dirmngr پیکربندی شده باشد و CRL بتواند با استفاده از صادرکننده پیدا شود. این گزینه به رفتاری که GnuPG تا نسخه 2.2.20 انجام میداد بازمیگردد. این گزینه بهطور کلی سودمند نیست.
- --enable-ocsp
- --disable-ocsp
- بهطور پیشفرض بررسیهای OCSP غیرفعال هستند. از گزینه فعالسازی میتوان برای فعال کردن بررسیهای OCSP از طریق Dirmngr استفاده کرد. اگر بررسیهای CRL نیز فعال باشند، در صورتی که یک درخواست OCSP به هر دلیلی موفق نشود، از CRLها به عنوان روش پشتیبان (fallback) استفاده خواهد شد. توجه داشته باشید که باید درخواستهای OCSP را در پیکربندی Dirmngr نیز مجاز کنید (گزینه --allow-ocsp) و Dirmngr را بهدرستی پیکربندی نمایید. اگر این کار را نکنید، کد خطای ‘Not supported’ را دریافت خواهید کرد.
- --auto-issuer-key-retrieve
- اگر در هنگام اعتبارسنجی زنجیره گواهینامهها، یک گواهینامه لازم مفقود باشد، تلاش میکند آن گواهینامه را از یک مکان خارجی بارگذاری کند. این معمولاً به این معنی است که Dirmngr برای جستجوی گواهینامه به کار گرفته میشود. توجه داشته باشید که این گزینه رفتاری مشابه «اشکال وب» (web bug) را امکانپذیر میسازد. گردانندگان سرور LDAP میتوانند ببینند شما چه کلیدهایی را درخواست میکنید، بنابراین با ارسال پیامی امضاشده با یک کلید کاملاً جدید برای شما (که طبیعتاً آن را در جعبهکلید محلی خود ندارید)، گرداننده سرور میتواند هم نشانی IP شما و هم زمانی را که امضا را تأیید کردهاید تشخیص دهد. توجه داشته باشید که اگر بررسی CRL غیرفعال نشده باشد، گواهینامههای صادرکننده در هر صورت با استفاده از روش caIssuers مربوط به authorityInfoAccess دریافت میشوند.
- --validation-model name
- این گزینه مدل اعتبارسنجی پیشفرض را تغییر میدهد. تنها مقادیر ممکن عبارتند از “shell” (که پیشفرض است)، “chain” که استفاده از مدل زنجیرهای را اجباری میکند و “steed” برای یک مدل سادهشده جدید. مدل زنجیرهای همچنین در صورتی استفاده میشود که گزینهای در ‘trustlist.txt’ یا یکی از ویژگیهای گواهینامه آن را درخواست کند. با این حال در آن حالت، همیشه ابتدا مدل استاندارد (shell) امتحان میشود.
- --ignore-cert-extension oid
- مقدار oid را به فهرست افزونههای نادیدهگرفتهشده گواهینامه اضافه میکند. انتظار میرود oid به صورت قالب دهدهی نقطهدار باشد، مانند 2.5.29.3. از این گزینه میتوان بیش از یک بار استفاده کرد. با افزونههای گواهینامه که دارای نشان حیاتی (critical) هستند و با یکی از OIDهای موجود در این فهرست مطابقت دارند، طوری رفتار میشود که گویی واقعاً پردازش شدهاند و در نتیجه گواهینامه به دلیل یک افزونه حیاتی ناشناخته رد نخواهد شد. از این گزینه با احتیاط استفاده کنید زیرا افزونهها معمولاً به دلیلی موجه به عنوان حیاتی نشانهگذاری میشوند.
ورودی و خروجی (Input and Output)
- --armor
- -a
- تولید خروجی با کدگذاری PEM. پیشفرض، خروجی دودویی (باینری) است.
- --base64
- تولید خروجی با کدگذاری Base-64؛ یعنی PEM بدون خطوط سرآیند (header).
- --assume-armor
- فرض میکند دادههای ورودی دارای کدگذاری PEM هستند. پیشفرض این است که کدگذاری به طور خودکار تشخیص داده شود، اما ممکن است این تشخیص ناموفق باشد.
- --assume-base64
- فرض میکند دادههای ورودی دارای کدگذاری ساده base-64 هستند.
- --assume-binary
- فرض میکند دادههای ورودی به صورت باینری (دودویی) کدگذاری شدهاند.
- --input-size-hint n
- این گزینه میتواند برای اعلام اندازه دادههای ورودی بر حسب بایت به GPGSM استفاده شود. n باید یک عدد مثبت در مبنای ۱۰ باشد. این مقدار توسط خط ``PROGRESS'' در --status-fd برای ارائه مقداری برای ``total'' در صورتی که از راههای دیگر در دسترس نباشد، استفاده میشود.
- --p12-charset name
- برنامه gpgsm هنگام کدگذاری عبارتهای عبور (passphrases) برای پروندههای PKCS#12 از کدگذاری UTF-8 استفاده میکند. این گزینه میتواند برای اجبار عبارت عبور به کدگذاری با کدگذاری مشخصشده name استفاده شود. این قابلیت زمانی مفید است که برنامه مورد استفاده برای وارد کردن کلید از کدگذاری متفاوتی استفاده میکند و بنابراین قادر به وارد کردن پرونده تولیدشده توسط gpgsm نخواهد بود. مقادیر پرکاربرد برای name عبارتند از Latin1 و CP850. توجه داشته باشید که خود gpgsm به طور خودکار هر پروندهای را که عبارت عبور آن با پرکاربردترین کدگذاریها کدگذاری شده باشد وارد میکند.
- --default-key user_id
- استفاده از user_id به عنوان کلید استاندارد برای امضا. این کلید در صورتی استفاده میشود که هیچ کلید دیگری به عنوان کلید امضا تعیین نشده باشد. توجه داشته باشید که اولین گزینه --local-users نیز در صورتی که این کلید هنوز تنظیم نشده باشد، آن را تعیین میکند؛ با این حال --default-key همواره بر آن اولویت دارد و آن را بازنویسی میکند.
- --local-user user_id
- -u user_id
- تنظیم کاربر(ان) مورد استفاده برای امضا کردن. پیشفرض، نخستین کلید مخفی یافتشده در پایگاه داده است.
- --recipient name
- -r
- رمزنگاری برای شناسه کاربر name. روشهای گوناگونی وجود دارد که میتوان شناسه کاربر را مشخص کرد (ببینید: [how-to-specify-a-user-id]).
- --output file
- -o file
- نوشتن خروجی در پرونده file. پیشفرض این است که خروجی در stdout نوشته شود.
- --with-key-data
- نمایش اطلاعات اضافی به همراه دستورهای --list-keys. بهویژه خطی با برچسب grp چاپ میشود که keygrip مربوط به کلید را نشان میدهد. این رشته به عنوان مثال به عنوان نام پرونده کلید مخفی به کار میرود. به طور ضمنی --with-colons را فعال میکند.
- --with-validation
- هنگام
فهرست کردن
کلیدها، یک
بررسی
اعتبارسنجی
کامل برای
هر کلید
انجام
میدهد و
نتیجه را
چاپ میکند.
این
معمولاً یک
عملیات کند
است زیرا
نیازمند
جستجوی CRL و
سایر
عملیات
میباشد.
هنگامی که به همراه --import استفاده شود، اعتبارسنجی گواهی مورد نظر برای وارد کردن انجام میشود و تنها در صورتی وارد میگردد که این آزمون با موفقیت سپری شود. توجه داشته باشید که این امر تاثیری بر گواهیهایی که از قبل در پایگاه داده (DB) موجود هستند ندارد. بنابراین این گزینه برای تایید اعتبار ساده یک گواهی مفید است.
- --with-md5-fingerprint
- برای فهرستبندی استاندارد کلیدها، اثر انگشت (fingerprint) گواهی مبتنی بر MD5 را نیز چاپ میکند.
- --with-keygrip
- گنجاندن keygrip در فهرستبندیهای استاندارد کلید. توجه داشته باشید که keygrip همواره در حالت --with-colons فهرست میشود.
- --with-secret
- گنجاندن اطلاعات مربوط به وجود یک کلید مخفی در فهرستبندی کلیدهای عمومی که با --with-colons انجام شده است.
- --no-pretty-dn
- به طور پیشفرض gpgsm نامهای متمایز (DNها) مانند صادرکننده (Issuer) یا موضوع (Subject) را در قالبی خواناتر چاپ میکند (مثلاً با استفاده از ترتیبی معین از بخشها). با این حال، این قالب نمیتواند به عنوان رشتههای ورودی استفاده شود. این گزینه نحوه چاپ را به قالب استاندارد RFC-2253 بازمیگرداند و بنابراین از نیاز به استفاده از --dump-cert یا --with-colons برای دریافت نام ``واقعی'' (real) جلوگیری میکند.
نحوه تغییر شیوه ایجاد CMS (How to change how the CMS is created)
- --include-certs n
- استفاده از n با مقدار -2 تمام گواهیها را به جز گواهی ریشه (root cert) شامل میشود، مقدار -1 شامل تمام گواهیها است، مقدار 0 هیچ گواهیای را شامل نمیشود، مقدار 1 تنها گواهی امضاکننده را شامل میشود و سایر مقادیر مثبت تا حداکثر n گواهی را با شروع از گواهی امضاکننده در بر میگیرند. پیشفرض -2 است.
- --cipher-algo oid
- استفاده از الگوریتم رمزنگاری با شناسه شیء ASN.1 (oid) برای رمزنگاری. برای سهولت، میتوان از رشتههای 3DES، AES و AES256 به جای OIDهای آنها استفاده کرد. پیشفرض AES (2.16.840.1.101.3.4.1.2) است.
- --digest-algo name
- استفاده از name به عنوان الگوریتم خلاصه پیام (digest). معمولاً این الگوریتم از گواهی امضای مربوطه استنتاج میشود. این گزینه استفاده از الگوریتم دادهشده را اجباری میکند و ممکن است به مشکلات شدید در تعاملپذیری (interoperability) منجر شود.
انجام کارهایی که معمولاً مایل به انجام آنها نیستید (Doing things one usually do not want to do)
- --chuid uid
- تغییر کاربر جاری به uid که میتواند یک عدد یا یک نام باشد. این گزینه میتواند از حساب کاربری ریشه (root) برای اجرای gpgsm برای کاربری دیگر استفاده شود. اگر uid همان UID جاری نباشد، یک PATH استاندارد تنظیم شده و متغیر محیطی GNUPGHOME لغو تنظیم (unset) میشود. برای لغو و بازنویسی مورد دوم میتوان از گزینه --homedir استفاده کرد. این گزینه تنها در صورتی تأثیر دارد که در خط فرمان استفاده شود. این گزینه در حال حاضر در ویندوز هیچ تأثیری ندارد.
- --extra-digest-algo name
- گاهی اوقات امضاها از این حیث معیوب هستند که الگوریتم خلاصهسازی متفاوتی را نسبت به آنچه واقعاً استفاده شده است اعلان میکنند. gpgsm از یک مدل پردازش داده یکگذره (one-pass) استفاده میکند و از این رو برای درهمسازی مناسب دادهها باید به الگوریتمهای خلاصه اعلانشده تکیه کند. به عنوان یک راهحل موقت، این گزینه میتواند برای آگاه ساختن gpgsm از درهمسازی دادهها با استفاده از الگوریتم name نیز به کار رود؛ این کار پردازش را اندکی کند میکند اما امکان اعتبارسنجی چنین امضاهای معیوبی را فراهم میسازد. اگر gpgsm خطایی مانند "digest algo 8 has not been enabled" چاپ کرد، ممکن است بخواهید این گزینه را با ‘SHA256’ برای name امتحان کنید.
- --compliance string
- تنظیم حالت انطباق (compliance mode). مقادیر معتبر هنگام استفاده از "help" برای string نمایش داده میشوند.
- --min-rsa-length n
- این گزینه حالت انطباق "de-vs" را برای الزامات سختگیرانهتر اندازه کلید تنظیم میکند. برای نمونه، مقدار 3000 کلیدهای rsa2048 و dsa2048 را به کلیدهای ناسازگار با VS-NfD تبدیل میکند.
- --require-compliance
- برای بررسی اینکه آیا دادهها طبق قواعد حالت انطباق جاری رمزنگاری شدهاند یا خیر، کاربر gpgsm باید خطوط وضعیت (status lines) را ارزیابی کند. این امر به پیشنماها امکان میدهد تا بررسی انطباق را به شیوهای منعطفتر مدیریت کنند. با این حال، برای استفاده در اسکریپتها، ارزیابی لازم روی خط وضعیت نیازمند تلاش و کار زیادی است؛ این گزینه میتواند در عوض برای اطمینان از این به کار رود که در صورت برآورده نشدن قواعد انطباق، فرایند gpgsm با وضعیت شکست خارج شود. توجه داشته باشید که این گزینه در حال حاضر تنها در حالت "de-vs" تأثیر دارد.
- --assert-signer fpr_or_file
- این گزینه بررسی میکند که آیا حداقل یک امضای معتبر روی یک پرونده با کلید مشخصشده ایجاد شده است یا خیر. کلید یا به عنوان یک اثرانگشت یا یک پرونده شامل فهرستی از اثرانگشتها مشخص میشود. اثرانگشت باید در قالب فشرده ارائه یا فهرست شود (بدون دونقطه یا فاصله در میان نویسهها). تا کنون تنها اثرانگشتهای SHA-1 مجاز هستند. این گزینه را میتوان چندین بار مشخص کرد و هر اثرانگشت هم با کلید امضاکننده و هم با کلید اصلی متناظر مطابقت داده میشود. اگر fpr_or_file یک پرونده را مشخص کند، خطوط خالی و همچنین تمام خطوطی که با علامت هش (#) آغاز میشوند نادیده گرفته خواهند شد. با این گزینه تضمین میشود که gpgsm با کد خروج 0 خارج خواهد شد اگر و تنها اگر امضایی مشاهده شود، معتبر باشد، و کلید با یکی از اثرانگشتهای ارائهشده توسط این گزینه مطابقت داشته باشد.
- --always-trust
- اجبار به رمزنگاری برای گواهیهای مشخصشده بدون هیچگونه اعتبارسنجی زنجیره گواهی. تنها شرط این است که گواهی قابلیت رمزنگاری داشته باشد. توجه داشته باشید که این گزینه در صورت استفاده از --require-compliance بیاثر خواهد بود.
- --ignore-cert-with-oid oid
- افزودن oid به فهرست OIDها برای بررسی هنگام خواندن گواهیها از کارتهای هوشمند. انتظار میرود oid در قالب دهدهی نقطهدار (dotted decimal) باشد، مانند 2.5.29.3. این گزینه میتواند بیش از یک بار استفاده شود. در حال حاضر گواهیهایی با کاربرد کلید گسترشیافته (extended key usage) که با یکی از این OIDها مطابقت داشته باشند، در طول عملیات --learn-card نادیده گرفته شده و وارد (import) نمیشوند. این گزینه میتواند به تمیز نگه داشتن پایگاه داده محلی کلید از گواهیهای غیرضروری ذخیرهشده روی کارتهای هوشمند کمک کند.
- --faked-system-time epoch
- این گزینه تنها برای آزمایش مفید است؛ زمان سیستم را به عقب یا جلو بر روی epoch تنظیم میکند که تعداد ثانیههای سپریشده از سال ۱۹۷۰ است. همچنین epoch میتواند به عنوان یک رشته زمانی کامل ISO (مانند "20070924T154812") داده شود.
- --with-ephemeral-keys
- گنجاندن کلیدهای نشانهگذاریشده با پرچم زودگذر (ephemeral) در خروجی فهرست کلیدها. توجه داشته باشید که اگر مشخصات کلید برای فهرستبندی به عنوان اثرانگشت یا keygrip داده شده باشد، آنها به هر حال گنجانده میشوند.
- --compatibility-flags flags
- تنظیم پرچمهای سازگاری برای دور زدن مشکلات ناشی از گواهیها یا دادههای ناسازگار. مقادیر flags به صورت یک فهرست جداشده با کاما از نامهای پرچم داده شده و با یکدیگر OR میشوند. پرچم ویژه "none" فهرست را پاک میکند و به فرد اجازه میدهد کار را دوباره با یک فهرست خالی آغاز کند. برای دریافت فهرستی از پرچمهای در دسترس، میتوان تنها از واژه "help" استفاده کرد.
- --debug-level level
- انتخاب سطح اشکالزدایی برای بررسی و ریشهیابی مشکلات. level میتواند یک مقدار عددی یا یک کلمه کلیدی باشد:
- none
- بدون هیچگونه اشکالزدایی. به جای این کلمه کلیدی میتوان از مقداری کمتر از ۱ استفاده کرد.
- basic
- برخی پیامهای اولیه اشکالزدایی. به جای این کلمه کلیدی میتوان از مقداری بین ۱ و ۲ استفاده کرد.
- advanced
- پیامهای اشکالزدایی پرجزئیاتتر (verbose). به جای این کلمه کلیدی میتوان از مقداری بین ۳ و ۵ استفاده کرد.
- expert
- پیامهایی حتی با جزئیات بیشتر. به جای این کلمه کلیدی میتوان از مقداری بین ۶ و ۸ استفاده کرد.
- guru
- تمام پیامهای اشکالزدایی که میتوانید دریافت کنید. به جای این کلمه کلیدی میتوان از مقداری بزرگتر از ۸ استفاده کرد. ایجاد پروندههای ردگیری درهمسازی (hash tracing files) تنها در صورتی فعال میشود که از این کلمه کلیدی استفاده شود.
نحوه نگاشت این پیامها به پرچمهای واقعی اشکالزدایی مشخص نشده است و ممکن است با انتشار نسخههای جدیدتر این برنامه تغییر کند. با این حال، آنها با دقت انتخاب شدهاند تا بیشترین کمک را در اشکالزدایی ارائه دهند.
- --debug flags
- تنظیم
پرچمهای
اشکالزدایی.
تمام
پرچمها با
هم OR
میشوند و
flags
میتواند
در ساختار
نحوی زبان C
(مانند 0x0042) یا
به صورت
فهرستی از
نامهای
پرچم
جداشده با
کاما مشخص
شود. برای
دریافت
فهرستی از
تمامی
پرچمهای
پشتیبانیشده
میتوان از
تکواژه "help"
استفاده
کرد. این
گزینه تنها
برای
اشکالزدایی
سودمند است
و رفتار آن
ممکن است در
هر زمان
بدون اطلاع
قبلی تغییر
کند.
توجه داشته باشید که تمام پرچمهای تنظیمشده با این گزینه ممکن است توسط --debug-level رونویسی و لغو شوند.
- --debug-all
- مشابه --debug=0xffffffff
- --debug-allow-core-dump
- معمولاً gpgsm با تکیه بر کدهای خوبنوشتهشده و غیرفعال کردن رونوشت حافظه هسته (core dump) به دلایل امنیتی، سعی میکند از ایجاد core dump جلوگیری کند. با این حال، باگها جانورانی سرسخت هستند و برای شکار و نابودی آنها گاهی در اختیار داشتن رونوشت حافظه هسته مفید است. این گزینه تخلیه و رونوشت هسته را فعال میکند مگر اینکه «اتفاق بد» پیش از تجزیه گزینهها رخ داده باشد.
- --debug-no-chain-validation
- این در واقع یک گزینه اشکالزدایی نیست اما تنها برای چنین مقصدی مفید است. این گزینه به gpgsm امکان میدهد تمام بررسیهای اعتبارسنجی زنجیره گواهی را دور بزند.
- --debug-ignore-expiration
- این در واقع یک گزینه اشکالزدایی نیست اما تنها برای چنین مقصدی مفید است. این گزینه به gpgsm اجازه میدهد تمام تاریخهای notAfter (انقضا) را نادیده بگیرد؛ این مورد در آزمونهای پسرفت (regression tests) استفاده میشود.
- --passphrase-fd n
- خواندن
عبارت عبور
(passphrase) از
توصیفکننده
پرونده n.
تنها خط
نخست از
توصیفکننده
پرونده n
خوانده
خواهد شد.
اگر برای n
از مقدار 0
استفاده
کنید،
عبارت عبور
از ورودی
استاندارد
(STDIN) خوانده
خواهد شد.
این گزینه
تنها زمانی
قابل
استفاده
است که فقط
یک عبارت
عبور ارائه
شده باشد.
توجه داشته باشید که این عبارت عبور تنها زمانی استفاده میشود که گزینه --batch نیز داده شده باشد.
- --pinentry-mode mode
- تنظیم حالت pinentry به mode. مقادیر مجاز برای mode عبارتند از:
- default
- استفاده از حالت پیشفرض عامل (agent)، که ask است.
- ask
- اجبار به استفاده از Pinentry.
- cancel
- شبیهسازی استفاده از دکمه لغو (cancel) در Pinentry.
- error
- بازگرداندن خطای Pinentry (خطای ``No Pinentry'').
- loopback
- تغییر مسیر پرسشهای Pinentry به فراخواننده (caller). توجه داشته باشید بر خلاف Pinentry، اگر کاربر گذرواژه نادرستی وارد کند، مجدداً از او سؤال پرسیده نخواهد شد.
- --request-origin origin
- به gpgsm اعلام میکند تا فرض کند عملیات در نهایت از origin منشأ گرفته است. بسته به مبدأ، محدودیتهای خاصی اعمال میشوند و Pinentry ممکن است یادداشت اضافهای درباره مبدأ درج کند. مقادیر پشتیبانیشده برای origin عبارتند از: local که پیشفرض است، remote برای نشان دادن مبدأ دوردست یا browser برای عملیاتی که توسط یک مرورگر وب درخواست شده است.
- --no-common-certs-import
- جلوگیری از وارد کردن گواهیهای عمومی هنگام ایجاد keybox.
تمام گزینههای بلند را میتوان پس از حذف دو خط فاصله ابتدایی، در پرونده پیکربندی نیز قرار داد.
نحوه تعیین شناسه کاربر (HOW TO SPECIFY A USER ID)
روشهای متفاوتی برای مشخص کردن شناسه کاربر (user ID) برای GnuPG وجود دارد. برخی از آنها فقط برای gpg معتبر هستند و برخی دیگر تنها برای gpgsm مناسبند. در اینجا فهرست کاملی از روشهای تعیین یک کلید آمده است:
- بر اساس شناسه کلید (By key Id).
- این قالب از
روی طول
رشته و
محتوای آن
یا پیشوند
0x تشخیص
داده
میشود.
شناسه کلید
یک گواهی X.509،
مقدار ۶۴
بیت
کمارزشتر
اثرانگشت SHA-1
آن است.
استفاده از
شناسه کلید
صرفاً یک
میانبر
است؛ برای
تمامی
پردازشهای
خودکار
باید از
اثرانگشت
استفاده
شود.
هنگام استفاده از gpg، میتوان یک علامت تعجب (!) را اضافه کرد تا استفاده از کلید اصلی یا فرعی مشخصشده اجبار شود و تلاشی برای محاسبه این که از کدام کلید اصلی یا فرعی استفاده گردد، انجام نشود.
چهار خط پایانی مثال، شناسه کلید را در قالب بلند آن که بهصورت داخلی توسط پروتکل OpenPGP استفاده میشود، نشان میدهند. میتوانید شناسه کلید بلند را با استفاده از گزینه --with-colons مشاهده کنید.
234567C4 0F34E556E 01347A56A 0xAB123456 234AABBCC34567C4 0F323456784E56EAB 01AB3FED1347A5612 0x234AABBCC34567C4
- بر اساس اثرانگشت (By fingerprint).
- این قالب از
روی طول
رشته و
محتوای آن
یا پیشوند
0x تشخیص
داده
میشود.
توجه داشته
باشید که
تنها نسخه
اثرانگشت
۲۰ بایتی در
gpgsm در دسترس
است (یعنی
هش SHA-1 گواهی).
هنگام استفاده از gpg، میتوان یک علامت تعجب (!) را اضافه کرد تا استفاده از کلید اصلی یا فرعی مشخصشده اجبار شود و تلاشی برای محاسبه این که از کدام کلید اصلی یا فرعی استفاده گردد، انجام نشود.
بهترین روش برای مشخص کردن شناسه کلید، استفاده از اثرانگشت است. این کار از هرگونه ابهام در صورتی که شناسههای کلید تکراری وجود داشته باشند جلوگیری میکند.
1234343434343434C434343434343434 123434343434343C3434343434343734349A3434 0E12343434343434343434EAB3484343434343434 0xE12343434343434343434EAB3484343434343434
همچنین gpgsm علامت دونقطه (:) را بین هر جفت رقم هگزادسیمال میپذیرد، زیرا این یک استاندارد دو فاکتو (عملی) برای نحوه نمایش اثرانگشتهای X.509 است. gpg همچنین امکان استفاده از اثرانگشت SHA-1 جداشده با فاصله را، همانگونه که توسط دستورات فهرست کردن کلید چاپ میشود، فراهم میآورد.
- بر اساس تطابق دقیق با شناسه کاربر OpenPGP (By exact match on OpenPGP user ID).
- این حالت با یک علامت مساوی در ابتدا مشخص میشود. استفاده از این روش برای گواهیهای X.509 کاربردی ندارد.
=Heinrich Heine <heinrichh@uni-duesseldorf.de>
- بر اساس تطابق دقیق با نشانی رایانامه (By exact match on an email address).
- این حالت با قرار دادن نشانی رایانامه به شیوه معمول درون علامتهای زاویهای چپ و راست (< و >) مشخص میشود.
<heinrichh@uni-duesseldorf.de>
- بر اساس تطابق جزئی با نشانی رایانامه (By partial match on an email address).
- این حالت با قرار دادن پیشوند @ در ابتدای رشته جستجو مشخص میشود. این شیوه از جستجوی زیررشته استفاده میکند، اما تنها نشانی رایانامه (یعنی داخل علامتهای زاویهای) را در نظر میگیرد.
@heinrichh
- بر اساس تطابق دقیق با DN موضوع (By exact match on the subject's DN).
- این حالت با یک اسلش در ابتدا مشخص میشود که بلافاصله پس از آن، DN کدگذاریشده موضوع بر اساس RFC-2253 میآید. توجه داشته باشید که نمیتوانید از رشته چاپشده توسط gpgsm --list-keys استفاده کنید، زیرا آن رشته برای خوانایی بهتر بازآرایی و اصلاح شده است؛ برای چاپ رشته خام (اما با فرار استاندارد) بر اساس RFC-2253 از --with-colons استفاده کنید.
/CN=Heinrich Heine,O=Poets,L=Paris,C=FR
- بر اساس تطابق دقیق با DN صادرکننده (By exact match on the issuer's DN).
- این حالت با یک علامت هش در ابتدا مشخص میشود که بلافاصله پس از آن یک اسلش و سپس بلافاصله DN کدگذاریشده صادرکننده بر اساس RFC-2253 قرار میگیرد. این کار باید گواهی ریشه (Root cert) صادرکننده را برگرداند. یادداشت بالا را ببینید.
#/CN=Root Cert,O=Poets,L=Paris,C=FR
- بر اساس تطابق دقیق با شماره سریال و DN صادرکننده (By exact match on serial number and issuer's DN).
- این حالت با یک علامت هش مشخص میشود که پس از آن نمایش هگزادسیمال شماره سریال، و سپس یک اسلش و DN کدگذاریشده صادرکننده بر اساس RFC-2253 میآید. یادداشت بالا را ببینید.
#4F03/CN=Root Cert,O=Poets,L=Paris,C=FR
- بر اساس کیگریپ (By keygrip).
- این حالت با یک علامت & (ampersand) مشخص میشود که در ادامه آن ۴۰ رقم هگزادسیمالِ یک کیگریپ (keygrip) قرار دارد. gpgsm هنگام استفاده از دستور --dump-cert کیگریپ را چاپ میکند.
&D75F22C3F86E355877348498CDC92BD21010A480
- بر اساس تطابق زیررشته (By substring match).
- این حالت پیشفرض است، اما برنامهها ممکن است بخواهند با قرار دادن یک ستاره (*) در ابتدا، این موضوع را بهصراحت مشخص کنند. تطابق نسبت به بزرگی و کوچکی حروف حساس نیست.
Heine *Heine
- پیشوندهای . و + (. and + prefixes)
- این
پیشوندها
برای
جستجوی
رایانامههای
مهارشده در
انتها و
برای حالت
جستجوی
کلمهای
رزرو
شدهاند.
این
قابلیتها
هنوز
پیادهسازی
نشدهاند و
استفاده از
آنها
نامشخص
(تعریفنشده)
است.
لطفاً توجه داشته باشید که ما از شناسه علامت هش که در نسخههای قدیمی GnuPG برای نشان دادن شناسه به اصطلاح محلی (local-id) به کار میرفت، دوباره استفاده کردهایم. آن شناسه دیگر کاربردی ندارد و نباید هنگام استفاده به همراه امکانات X.509 تداخلی ایجاد شود.
استفاده از قالب RFC-2253 برای DNها این ایراد را دارد که امکان بازگرداندن آنها به کدگذاری اصلی وجود ندارد؛ با این حال نیازی به انجام این کار نیست، زیرا پایگاه داده کلید ما این کدگذاری را به عنوان فراداده ذخیره میکند.
مثالها (EXAMPLES)
$ gpgsm -er goo@bar.net <plaintext >ciphertext
فایلها (FILES)
چندین فایل پیکربندی برای کنترل جنبههای مشخصی از عملکرد gpgsm وجود دارند. مگر در مواردی که ذکر شده باشد، انتظار میرود این فایلها در دایرکتوری خانگی فعلی قرار داشته باشند (ببینید: [option --homedir]).
- gpgsm.conf
- این فایل پیکربندی استاندارد است که در هنگام راهاندازی توسط gpgsm خوانده میشود. این فایل میتواند شامل هر گزینه طولانی معتبری باشد؛ دو خط تیره ابتدایی نباید وارد شوند و گزینه نباید مخفف شود. این نام پیشفرض میتواند در خط فرمان تغییر یابد (ببینید: [gpgsm-option --options]). شما باید از این فایل نسخه پشتیبان تهیه کنید.
- common.conf
- این یک فایل پیکربندی اختیاری است که در هنگام راهاندازی توسط gpgsm خوانده میشود. این فایل میتواند شامل گزینههای مربوط به تمام مؤلفههای GnuPG باشد. کاربرد اصلی فعلی آن برای گزینه "use-keyboxd" است.
- policies.txt
- این فهرستی
از
خطمشیهای
(policies) مجاز CA است.
این فایل
باید
شناسههای
شیء (OIDها)
مربوط به
خطمشیها
را
خطبهخط
فهرست کند.
خطوط خالی و
خطوطی که با
علامت هش (#)
شروع
میشوند
نادیده
گرفته
میشوند.
خطمشیهایی
که در این
فایل وجود
ندارند و در
گواهی
بهعنوان
بحرانی (critical)
علامتگذاری
نشدهاند،
تنها یک
هشدار چاپ
خواهند
کرد؛
گواهیهای
دارای
خطمشیهایی
که
بهعنوان
بحرانی
علامتگذاری
شدهاند و
در این فایل
فهرست
نشدهاند،
در
اعتبارسنجی
امضا رد
خواهند شد.
شما باید از
این فایل
نسخه
پشتیبان
تهیه کنید.
برای مثال، جهت مجاز کردن تنها خطمشی 2.289.9.9، فایل باید به این شکل باشد:
# Allowed policies 2.289.9.9
- qualified.txt
- این روش
قدیمی (legacy)
برای
علامتگذاری
گواهیهای
ریشه به
عنوان قابل
استفاده
برای
گواهیهای
واجد شرایط
(qualified certificates) است.
گواهیهای
واجد شرایط
قادرند
امضاهایی
با الزام
قانونی و
دارای
اعتباری
مشابه
امضاهای
دستنویس
ایجاد کنند.
روش امروزی
برای
علامتگذاری
چنین
گواهیهای
ریشهای،
استفاده از
پرچم "qual" در
فایل trustlist.txt
سیستم است؛
برای
جزئیات به
صفحه
راهنمای gpg-agent
مراجعه
کنید.
توضیحات در این فایل با علامت هش (#) آغاز میشوند و خطوط خالی نادیده گرفته میشوند. خطوط دارای محدودیت طول هستند، اما این یک محدودیت جدی نیست زیرا ساختار ورودیها ثابت بوده و توسط gpgsm بررسی میشود: یک خط غیرتوضیحی با فاصلههای سفید اختیاری آغاز میشود و به دنبال آن دقیقاً ۴۰ نویسه هگزادسیمال، فاصله سفید و یک کد کشور دو حرفی با حروف کوچک قرار میگیرد. دادههای اضافی که با فاصله سفید جدا شدهاند، در حال حاضر نادیده گرفته میشوند اما ممکن است بعداً برای اهداف دیگری استفاده شوند.
توجه داشته باشید که حتی اگر یک گواهی در این فایل فهرست شده باشد، به این معنی نیست که آن گواهی قابل اعتماد (trusted) است؛ به طور کلی گواهیهای فهرستشده در این فایل باید در ‘trustlist.txt’ نیز فهرست شوند. این یک فایل سراسری است و در دایرکتوری sysconf نصب میشود (به عنوان مثال ‘/etc/gnupg/qualified.txt’).
هر بار که gpgsm از یک گواهی برای امضا یا اعتبارسنجی استفاده میکند، این فایل بررسی میشود تا مشخص گردد آیا گواهی مورد نظر در نهایت توسط یکی از این CAها صادر شده است یا خیر. در این صورت، به کاربر اطلاع داده خواهد شد که امضای بررسیشده نشاندهنده یک امضای دارای الزام قانونی (``qualified'') است. هنگام ایجاد یک امضا با استفاده از چنین گواهیای، یک اعلان اضافی نمایش داده میشود تا به کاربر امکان دهد تأیید کند که آیا واقعاً چنین امضایی با الزام قانونی ایجاد شود.
از آنجا که این نرمافزار هنوز برای استفاده با چنین گواهیهایی تأیید نشده است، هشدارهای مناسبی برای نشان دادن این موضوع نمایش داده خواهد شد.
- help.txt
- این یک فایل متنی ساده با چند مدخل راهنما است که همراه با pinentry و همچنین فهرست بزرگی از موارد راهنما برای gpg و gpgsm استفاده میشود. فایل استاندارد دارای متون راهنمای انگلیسی است؛ برای نصب نسخههای بومیسازیشده از نامفایلهایی مانند ‘help.LL.txt’ استفاده کنید که در آن LL نشاندهنده لوکال (locale) است. GnuPG به همراه مجموعهای از فایلهای راهنمای از پیش تعریفشده در دایرکتوری داده (مثلاً ‘/usr/share/gnupg/gnupg/help.de.txt’) ارائه میشود و اجازه میدهد هر مورد راهنما توسط فایلهای راهنمای ذخیرهشده در دایرکتوری پیکربندی سیستم (مثلاً ‘/etc/gnupg/help.de.txt’) بازنویسی (override) شود. برای مرجع نحو (syntax) فایل راهنما، لطفاً فایل نصبشدهٔ ‘help.txt’ را ببینید.
- com-certs.pem
- این فایل مجموعهای از گواهیهای رایج است که برای پر کردن یک ‘pubring.kbx’ تازه ایجادشده استفاده میشود. مدیر سیستم میتواند این فایل را با یک فایل سفارشی جایگزین کند. قالب آن ترکیبی متوالی از گواهیهای X.509 با کدگذاری PEM است. این فایل سراسری در دایرکتوری داده نصب میشود (مثلاً ‘/usr/share/gnupg/com-certs.pem’).
توجه داشته باشید که در نصبهای بزرگتر، قرار دادن فایلهای از پیش تعریفشده در دایرکتوری ‘/etc/skel/.gnupg/’ سودمند است تا کاربران تازهایجادشده با یک پیکربندی فعال کار خود را شروع کنند. برای کاربران موجود، یک اسکریپت کمکی کوچک برای ایجاد این فایلها ارائه شده است (ببینید: [addgnupghome]).
برای مقاصد داخلی، gpgsm چند فایل دیگر ایجاد و نگهداری میکند؛ همه آنها در دایرکتوری خانگی فعلی قرار دارند (ببینید: [option --homedir]). تنها gpgsm مجاز به تغییر این فایلها است.
- pubring.kbx
- این یک فایل پایگاه داده است که گواهیها و همچنین فرااطلاعات (متادیتا) را ذخیره میکند. برای اهداف اشکالزدایی، میتوان از ابزار kbxutil برای نمایش ساختار داخلی این فایل استفاده کرد. شما باید از این فایل نسخه پشتیبان تهیه کنید.
- random_seed
- محتوای این فایل برای حفظ وضعیت داخلی مولد اعداد تصادفی در طول فراخوانیها استفاده میشود. همین فایل توسط سایر برنامههای این نرمافزار نیز استفاده میشود.
- S.gpg-agent
- اگر این فایل وجود داشته باشد، gpgsm پیش از راهاندازی یک نمونه جدید از gpg-agent، ابتدا تلاش میکند تا برای دسترسی به gpg-agent به این سوکت متصل شود. در ویندوز این سوکت (که در واقعیت یک فایل ساده است که یک پورت شنود معمولی TCP را توصیف میکند) روش استاندارد اتصال به gpg-agent است.
همچنین ببینید (SEE ALSO)
مستندات کامل این ابزار به عنوان یک کتابچه راهنمای Texinfo نگهداری میشود. اگر GnuPG و برنامه info به درستی در سیستم شما نصب شده باشند، دستور
info gnupg
باید به شما دسترسی به کتابچه راهنمای کامل شامل ساختار منو و یک نمایه (index) را بدهد.
| 2025-02-19 | GnuPG 2.4.9 |