.de1 NOP . it 1 an-trap . if \\n[.$] \,\\$*\/ .. .ie t \ .ds B-Font [CB] .ds I-Font [CI] .ds R-Font [CR] .el \ .ds B-Font B .ds I-Font I .ds R-Font R .TH ocsptool 1 "29 Apr 2026" "3.8.13" "دستورات کاربر (User Commands)" .SH "نام (NAME)" ocsptool \- ابزار تحلیل و اعتبارسنجی پاسخها و درخواستهای OCSP .SH "خلاصه دستور (SYNOPSIS)" \f\*[B-Font]ocsptool\fP .\" Mixture of short (flag) options and long options [\f\*[B-Font]\-flags\f[]] [\f\*[B-Font]\-flag\f[] [\f\*[I-Font]value\f[]]] [\f\*[B-Font]\-\-option-name\f[][[=| ]\f\*[I-Font]value\f[]]] .sp \n(Ppu .ne 2 تمامی آرگومان‌ها باید از نوع گزینه باشند. .sp \n(Ppu .ne 2 .SH "توضیحات (DESCRIPTION)" .br \fBدر رابطه با اعتبارسنجی\fP .br پاسخ‌ها معمولاً توسط گواهینامه‌های مشخص‌شده یا مراجع صدور گواهینامه (CA) امضا یا صادر می‌شوند؛ بنابراین این ابزار برای اعتبارسنجی، به گواهینامه صادرکننده یا زنجیره کامل گواهینامه‌ها نیاز دارد تا مرجع امضاکننده مناسب را تعیین کند. گواهینامه مشخص‌شده صادرکننده، مورد اعتماد (trusted) فرض می‌شود. .sp .sp .SH "گزینه‌ها (OPTIONS)" .TP .NOP \f\*[B-Font]\-d\f[] \f\*[I-Font]num\f[], \f\*[B-Font]\-\-debug\f[]=\f\*[I-Font]num\f[] فعال‌سازی اشکال‌زدایی. این گزینه یک عدد صحیح را به عنوان آرگومان دریافت می‌کند. مقدار \f\*[I-Font]num\f[] محدود به موارد زیر است: .in +4 .nf .na در محدوده 0 تا 9999 .fi .in -4 .sp سطح اشکال‌زدایی را مشخص می‌کند. .TP .NOP \f\*[B-Font]\-V\f[], \f\*[B-Font]\-\-verbose\f[] خروجی با جزئیات بیشتر. .sp .TP .NOP \f\*[B-Font]\-\-infile\f[]=\f\*[I-Font]file\f[] فایل ورودی. .sp .TP .NOP \f\*[B-Font]\-\-outfile\f[]=\f\*[I-Font]str\f[] فایل خروجی. .sp .TP .NOP \f\*[B-Font]\-\-ask\f[]=\f\*[I-Font]server name|url\f[] پرس‌وجو از یک سرور OCSP/HTTP درباره اعتبار یک گواهینامه. .sp به سرور HTTP OCSP مشخص‌شده متصل می‌شود و درباره اعتبار گواهینامه بارگذاری‌شده پرس‌وجو می‌کند. آرگومان آن می‌تواند یک نشانی اینترنتی (URL) یا نام ساده سرور باشد. می‌توان آن را با گزینه .B \-\-load\-chain ترکیب کرد که در آن تمام گواهینامه‌های موجود در زنجیره ارائه‌شده بررسی می‌شوند، یا با گزینه‌های .B \-\-load\-cert و .B \-\-load\-issuer به کار برد. گزینه دوم، گواهینامه ارائه‌شده را در برابر گواهینامه صادرکننده مشخص‌شده آن بررسی می‌کند. .TP .NOP \f\*[B-Font]\-e\f[], \f\*[B-Font]\-\-verify\-response\f[] اعتبارسنجی پاسخ. .sp پاسخ OCSP ارائه‌شده را در برابر لنگرهای اعتماد (trust anchors) سیستم اعتبارسنجی می‌کند (مگر اینکه .B \-\-load\-trust مشخص شده باشد). این گزینه برای به‌دست آوردن امضاکننده پاسخ OCSP، به گزینه‌های .B \-\-load\-signer یا .B \-\-load\-chain نیاز دارد. .TP .NOP \f\*[B-Font]\-i\f[], \f\*[B-Font]\-\-request\-info\f[] چاپ اطلاعات درباره یک درخواست OCSP. .sp نمایش اطلاعات دقیق درباره درخواست OCSP ارائه‌شده. .TP .NOP \f\*[B-Font]\-j\f[], \f\*[B-Font]\-\-response\-info\f[] چاپ اطلاعات درباره یک پاسخ OCSP. .sp نمایش اطلاعات دقیق درباره پاسخ OCSP ارائه‌شده. .TP .NOP \f\*[B-Font]\-q\f[], \f\*[B-Font]\-\-generate\-request\f[] تولید یک درخواست OCSP. .sp .TP .NOP \f\*[B-Font]\-\-nonce\f[], \f\*[B-Font]\-\-no\-nonce\f[] استفاده از نانس (یا عدم استفاده از آن) در درخواست OCSP. حالت \fIno\-nonce\fP این گزینه را غیرفعال می‌کند. .sp .TP .NOP \f\*[B-Font]\-\-load\-chain\f[]=\f\*[I-Font]file\f[] خواندن مجموعه‌ای از گواهینامه‌ها که یک زنجیره را تشکیل می‌دهند از فایل. .sp .TP .NOP \f\*[B-Font]\-\-load\-issuer\f[]=\f\*[I-Font]file\f[] خواندن گواهینامه صادرکننده از فایل. .sp .TP .NOP \f\*[B-Font]\-\-load\-cert\f[]=\f\*[I-Font]file\f[] خواندن گواهینامه مورد بررسی از فایل. .sp .TP .NOP \f\*[B-Font]\-\-load\-trust\f[]=\f\*[I-Font]file\f[] خواندن لنگرهای اعتماد (trust anchors) OCSP از فایل. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر ظاهر شود: load-signer. .sp هنگام اعتبارسنجی یک پاسخ OCSP، لنگرهای اعتماد از فایل ارائه‌شده خوانده می‌شوند. در صورتی که این گزینه ارائه نشود، از لنگرهای اعتماد سیستم استفاده خواهد شد. .TP .NOP \f\*[B-Font]\-\-load\-signer\f[]=\f\*[I-Font]file\f[] خواندن امضاکننده پاسخ OCSP از فایل. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر ظاهر شود: load-trust. .sp .TP .NOP \f\*[B-Font]\-\-inder\f[], \f\*[B-Font]\-\-no\-inder\f[] استفاده از قالب DER برای گواهینامه‌ها و کلیدهای خصوصی ورودی. حالت \fIno\-inder\fP این گزینه را غیرفعال می‌کند. .sp .TP .NOP \f\*[B-Font]\-\-outder\f[] استفاده از قالب DER برای خروجی پاسخ‌ها (این حالت پیش‌فرض است). .sp خروجی در قالب کدگذاری‌شده DER خواهد بود. بر خلاف سایر ابزارهای GnuTLS، این قالب حالت پیش‌فرض برای این ابزار است. .TP .NOP \f\*[B-Font]\-\-outpem\f[] استفاده از قالب PEM برای خروجی پاسخ‌ها. .sp خروجی در قالب PEM خواهد بود. .TP .NOP \f\*[B-Font]\-Q\f[] \f\*[I-Font]file\f[], \f\*[B-Font]\-\-load\-request\f[]=\f\*[I-Font]file\f[] خواندن درخواست OCSP کدگذاری‌شده با DER از فایل. .sp .TP .NOP \f\*[B-Font]\-S\f[] \f\*[I-Font]file\f[], \f\*[B-Font]\-\-load\-response\f[]=\f\*[I-Font]file\f[] خواندن پاسخ OCSP کدگذاری‌شده با DER از فایل. .sp .TP .NOP \f\*[B-Font]\-\-ignore\-errors\f[] نادیده گرفتن هرگونه خطای اعتبارسنجی. .sp .TP .NOP \f\*[B-Font]\-\-verify\-allow\-broken\f[] اجازه دادن به الگوریتم‌های شکسته و ناامن، مانند MD5 برای اعتبارسنجی. .sp این گزینه می‌تواند با .B \-\-verify\-response ترکیب شود. .TP .NOP \f\*[B-Font]\-\-attime\f[]=\f\*[I-Font]timestamp\f[] انجام اعتبارسنجی در برچسب زمانی داده‌شده به‌جای زمان سیستم. .sp برچسب زمانی (timestamp) یک لحظه زمانی است که به‌صورت زمان یونیکس یا در قالب یک رشته زمانی خوانا برای انسان مانند "29 Feb 2004" یا "2004\-02\-29" کدگذاری شده است. مستندات کامل در یا به‌صورت محلی از طریق دستور .B info '(coreutils) date invocation' در دسترس است. .TP .NOP \f\*[B-Font]\-v\f[] \f\*[I-Font]arg\f[], \f\*[B-Font]\-\-version\f[]=\f\*[I-Font]arg\f[] نمایش نسخه برنامه و خروج. حالت پیش‌فرض .RB ` v ' است که نسخه ساده را نمایش می‌دهد. حالت .RB ` c ' اطلاعات حق نشر و حالت .RB ` n ' متن کامل اطلاعیه حق نشر را چاپ می‌کند. .TP .NOP \f\*[B-Font]\-h\f[], \f\*[B-Font]\-\-help\f[] نمایش اطلاعات نحوه استفاده و خروج. .sp .TP .NOP \f\*[B-Font]\-!\f[], \f\*[B-Font]\-\-more\-help\f[] ارسال اطلاعات گسترده راهنمای نحوه استفاده از طریق یک صفحه‌بندی‌کننده (pager). .sp .SH "مثال‌ها (EXAMPLES)" .br \fBچاپ اطلاعات درباره یک درخواست OCSP\fP .br .sp برای تجزیه یک درخواست OCSP و چاپ اطلاعات درباره محتوای آن، می‌توان پارامتر .B \-i یا .B \-\-request\-info را به‌صورت زیر به کار برد. پارامتر .B \-Q نام فایل حاوی درخواست OCSP را مشخص می‌کند، و این فایل باید حاوی درخواست OCSP در قالب باینری DER باشد. .sp .br .in +4 .nf $ ocsptool \-i \-Q ocsp\-request.der .in -4 .fi .sp فایل ورودی همچنین می‌تواند به‌صورت زیر به ورودی استاندارد فرستاده شود: .sp .br .in +4 .nf $ cat ocsp\-request.der | ocsptool \-\-request\-info .in -4 .fi .sp .br \fBچاپ اطلاعات درباره یک پاسخ OCSP\fP .br .sp همانند تجزیه درخواست‌های OCSP، پاسخ‌های OCSP را نیز می‌توان با استفاده از .B \-j یا .B \-\-response\-info به‌صورت زیر تجزیه کرد: .sp .br .in +4 .nf $ ocsptool \-j \-Q ocsp\-response.der $ cat ocsp\-response.der | ocsptool \-\-response\-info .in -4 .fi .sp .br \fBتولید یک درخواست OCSP\fP .br .sp پارامترهای .B \-q یا .B \-\-generate\-request برای تولید یک درخواست OCSP استفاده می‌شوند. به‌طور پیش‌فرض، درخواست OCSP در قالب باینری DER در خروجی استاندارد نوشته می‌شود، اما می‌تواند با استفاده از .B \-\-outfile در یک فایل ذخیره شود. برای تولید یک درخواست OCSP، صادرکننده گواهینامه مورد بررسی باید با .B \-\-load\-issuer و گواهینامه مورد بررسی با .B \-\-load\-cert مشخص شود. به‌طور پیش‌فرض از قالب PEM برای این فایل‌ها استفاده می‌شود، هرچند می‌توان از .B \-\-inder برای مشخص کردن این‌که فایل‌های ورودی در قالب DER هستند استفاده کرد. .sp .br .in +4 .nf $ ocsptool \-q \-\-load\-issuer issuer.pem \-\-load\-cert client.pem \ \-\-outfile ocsp\-request.der .in -4 .fi .sp هنگام تولید درخواست‌های OCSP، این ابزار یک افزونه OCSP حاوی نانس (nonce) را اضافه می‌کند. این رفتار را می‌توان با مشخص کردن .B \-\-no\-nonce غیرفعال کرد. .sp .br \fBاعتبارسنجی امضا در پاسخ OCSP\fP .br .sp برای اعتبارسنجی امضا در یک پاسخ OCSP، از پارامتر .B \-e یا .B \-\-verify\-response استفاده می‌شود. این ابزار یک پاسخ OCSP در قالب DER را از ورودی استاندارد یا از فایل مشخص‌شده توسط .B \-\-load\-response می‌خواند. پاسخ OCSP در برابر مجموعه‌ای از لنگرهای اعتماد اعتبارسنجی می‌شود که با استفاده از .B \-\-load\-trust مشخص شده‌اند. لنگرهای اعتماد، گواهینامه‌های پیوسته‌شده به هم در قالب PEM هستند. گواهینامه‌ای که پاسخ OCSP را امضا کرده است باید در مجموعه لنگرهای اعتماد باشد، یا صادرکننده گواهینامه امضاکننده باید در مجموعه لنگرهای اعتماد باشد و بیت Extended Key Usage مربوط به OCSP باید در گواهینامه امضاکننده فعال (asserted) شده باشد. .sp .br .in +4 .nf $ ocsptool \-e \-\-load\-trust issuer.pem \ \-\-load\-response ocsp\-response.der .in -4 .fi .sp این ابزار وضعیت اعتبارسنجی را چاپ خواهد کرد. .sp .br \fBاعتبارسنجی امضا در پاسخ OCSP در برابر یک گواهینامه مشخص\fP .br .sp اگر بدانید که یک گواهینامه خاص پاسخ OCSP را امضا کرده است و بخواهید از آن برای بررسی امضا استفاده کنید، می‌توان منطق معمول اعتماد را نادیده گرفت. این کار با استفاده از .B \-\-load\-signer به‌جای .B \-\-load\-trust انجام می‌شود. این گزینه یک گواهینامه را بارگذاری می‌کند و از آن برای اعتبارسنجی امضا در پاسخ OCSP استفاده خواهد شد. این حالت بیت Extended Key Usage را بررسی نمی‌کند. .sp .br .in +4 .nf $ ocsptool \-e \-\-load\-signer ocsp\-signer.pem \ \-\-load\-response ocsp\-response.der .in -4 .fi .sp این روش معمولاً فقط در دو موقعیت کاربرد دارد: نخست، زمانی که پاسخ OCSP حاوی نسخه‌ای از گواهینامه امضاکننده نیست و بنابراین کد .B \-\-load\-trust شکست می‌خورد. دوم، زمانی که بخواهید از حالت غیرمستقیم که در آن گواهینامه امضاکننده پاسخ OCSP توسط یک لنگر اعتماد امضا شده است، اجتناب کنید. .sp .br \fBیک مثال در دنیای واقعی\fP .br .sp در اینجا یک مثال از نحوه تولید یک درخواست OCSP برای یک گواهینامه و اعتبارسنجی پاسخ آورده شده است. برای نمایش، از میزبان .B blog.josefsson.org استفاده می‌کنیم که (در زمان نگارش این متن) از یک گواهینامه CACert استفاده می‌کند. ابتدا از .B gnutls\-cli برای دریافت یک نسخه از زنجیره گواهینامه سرور استفاده می‌کنیم. سرور ملزم به ارسال این اطلاعات نیست، اما این سرور خاص برای انجام این کار پیکربندی شده است. .sp .br .in +4 .nf $ echo | gnutls\-cli \-p 443 blog.josefsson.org \-\-save\-cert chain.pem .in -4 .fi .sp گواهینامه‌های ذخیره‌شده معمولاً در افزونه Authority Information Access حاوی اشاره‌گری به محل قرارگیری پاسخ‌دهنده OCSP هستند. برای مثال، از .B certtool \-i < chain.pem این اطلاعات حاصل می‌شود: .sp .br .in +4 .nf Authority Information Access Information (not critical): Access Method: 1.3.6.1.5.5.7.48.1 (id\-ad\-ocsp) Access Location URI: https://ocsp.CAcert.org .in -4 .fi .sp این بدان معنی است که ocsptool می‌تواند سرورهایی را که باید از طریق HTTP با آن‌ها تماس بگیرد، شناسایی کند. اکنون می‌توانیم اطلاعات مربوط به گواهینامه‌های زنجیره را درخواست کنیم: .sp .br .in +4 .nf $ ocsptool \-\-ask \-\-load\-chain chain.pem .in -4 .fi .sp درخواست از طریق HTTP به آدرس سرور OCSP یافت‌شده در گواهینامه‌ها ارسال می‌شود. همچنین می‌توان آدرس سرور OCSP را بازنویسی کرد و یا با استفاده از .B \-\-load\-cert و .B \-\-load\-issuer درباره یک گواهینامه خاص اطلاعات پرس‌وجو کرد: .sp .br .in +4 .nf $ ocsptool \-\-ask https://ocsp.CAcert.org \-\-load\-chain chain.pem .in -4 .fi .SH "وضعیت خروج (EXIT STATUS)" یکی از مقادیر خروج زیر بازگردانده خواهد شد: .TP .NOP 0 " (EXIT_SUCCESS)" اجرای موفقیت‌آمیز برنامه. .TP .NOP 1 " (EXIT_FAILURE)" عملیات شکست خورد یا ساختار دستور معتبر نبود. .PP .SH "همچنین ببینید (SEE ALSO)" .BR certtool (1) .SH "نویسندگان (AUTHORS)" بنیاد نرم‌افزار آزاد و دیگر مشارکت‌کنندگان GnuTLS. .SH "حق نشر (COPYRIGHT)" حق نشر \(co 2020-2023 Free Software Foundation و دیگران. تمامی حقوق محفوظ است. .br این برنامه تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License)، نسخه ۳ یا جدیدتر منتشر شده است. .SH "گزارش اشکالات (BUGS)" لطفاً گزارش‌های اشکال را به نشانی bugs@gnutls.org ارسال کنید.