.TH "PKI \-\-OCSP" 1 "2023-10-29" "6.1.0" "strongSwan" . .SH "نام (NAME)" . pki \-\-ocsp \- تجزیه‌گر درخواست OCSP و پاسخ‌دهندهٔ OCSP. . .SH "خلاصه دستور (SYNOPSIS)" . .SY pki\ \-\-ocsp .OP \-\-in file .OP \-\-cacert file .OP \-\-debug level .YS .SY pki\ \-\-ocsp .BI \-\-respond .OP \-\-in file .BI \-\-cacert\~ file .RB [ \-\-key .IR file | \fB\-\-keyid\fR .IB hex ] .RB [ \-\-cert .IR file | \fB\-\-certid\fR .IB hex ] .OP \-\-index file .OP \-\-lifetime minutes .OP \-\-digest digest .OP \-\-rsa\-padding padding .OP \-\-debug level .YS . .SY pki\ \-\-ocsp .BI \-\-options\~ file .YS . .SY "pki \-\-ocsp" .B \-h | .B \-\-help .YS . .SH "توضیحات (DESCRIPTION)" . این زیرفرمان از .BR pki (1) یک درخواست .B Online Certificate Status Protocol (OCSP) را همان‌طور که در RFC 6960 تعریف شده است تجزیه می‌کند و با گزینهٔ .B \-\-respond یک پاسخ OCSP بر اساس درخواست دریافتی تولید می‌نماید. وضعیت گواهی برای این کار می‌تواند توسط افزونه‌ها تأمین شود؛ بنابراین در صورت عدم استفاده از گزینهٔ .BR \-\-index ، این ابزار در حال حاضر نیازمند افزونه‌های .B openxpki و .B mysql است تا بتواند مستقیماً به پایگاه‌دادهٔ داخلی .B certificate یک سرور .B OpenXPKI () دسترسی پیدا کند. . .SH "گزینه‌ها (OPTIONS)" . .TP .B "\-h, \-\-help" چاپ اطلاعات نحوهٔ استفاده به‌همراه خلاصه‌ای از گزینه‌های موجود. .TP .BI "\-v, \-\-debug " level تنظیم سطح اشکال‌زدایی (دیباگ)، پیش‌فرض: 1. .TP .BI "\-+, \-\-options " file خواندن گزینه‌های خط فرمان از \fIfile\fR. .TP .BI "\-i, \-\-in " file درخواست OCSP. در صورت مشخص نشدن، درخواست OCSP از \fISTDIN\fR خوانده می‌شود. .TP .BI "\-C, \-\-cacert " file گواهی CA متناظر با یکی از هش‌های صادرکنندهٔ موجود در درخواست OCSP. اگر درخواست OCSP امضا شده باشد، یک گواهی CA که زنجیرهٔ اعتماد را تشکیل می‌دهد. می‌تواند چندین بار استفاده شود. .TP .BI "\-k, \-\-key " file کلید امضاکنندهٔ OCSP. می‌تواند چندین بار استفاده شود. .TP .BI "\-K, \-\-keyid " hex شناسهٔ شیء (handle) مربوط به کلید امضاکنندهٔ OCSP در کارت هوشمند یا TPM 2.0. می‌تواند چندین بار استفاده شود. .TP .BI "\-c, \-\-cert " file گواهی امضاکنندهٔ OCSP (در صورتی که گواهی CA نباشد). می‌تواند چندین بار استفاده شود. .TP .BI "\-X, \-\-certid " hex شناسهٔ شیء (handle) مربوط به گواهی امضاکنندهٔ OCSP در کارت هوشمند یا TPM 2.0. می‌تواند چندین بار استفاده شود. .TP .BI "\-x, \-\-index " file فایل index.txt به سبک OpenSSL که اطلاعات مربوط به وضعیت گواهی‌های صادرشده توسط گواهی CA بارگذاری‌شده دقیقاً پیش از آن را ارائه می‌دهد. در صورتی که وضعیت چندین CA باید ارائه شود، می‌تواند چندین بار استفاده شود؛ فقط دقت کنید که هر فایل index.txt بلافاصله پس از گواهی CA مربوطه‌اش ارسال شود. برای مشاهدهٔ شرح ساختار این فایل‌ها، ادامه را ببینید. .TP .BI "\-l, \-\-lifetime " minutes مدت‌زمان اعتبار پاسخ OCSP برحسب دقیقه (در صورت عدم تعیین، فیلد nextUpdate حذف می‌شود). .TP .BI "\-g, \-\-digest " digest خلاصه یا دایجست (digest) مورد استفاده برای ایجاد امضا. یکی از موارد \fImd5\fR، \fIsha1\fR، \fIsha224\fR، \fIsha256\fR، \fIsha384\fR یا \fIsha512\fR، \fIsha3_224\fR، \fIsha3_256\fR، \fIsha3_384\fR، \fIsha3_512\fR. مقدار پیش‌فرض بر اساس نوع و اندازهٔ کلید امضای OCSP تعیین می‌شود. .TP .BI "\-R, \-\-rsa\-padding " padding پدینگ (padding) مورد استفاده برای امضاهای RSA. می‌تواند \fIpkcs1\fR یا \fIpss\fR باشد، پیش‌فرض بر روی \fIpkcs1\fR است. ..SH "توضیحات INDEX.TXT (INDEX.TXT DESCRIPTION)" . هر سطر در یک فایل index.txt از شش ستون تشکیل شده که با نویسه‌های تب (tab) از یکدیگر جدا شده‌اند: ستون اول نشان‌دهنده وضعیت گواهی است که می‌تواند "V" (برای معتبر - valid)، "E" (برای منقضی‌شده - expired، که مانند معتبر با آن رفتار می‌شود) یا "R" (برای باطل‌شده - revoked) باشد. ستون دوم شامل تاریخ و ساعت انقضای گواهی در UTC و با قالب YYMMDDHHMMSSZ است. این فیلد توسط دستور نادیده گرفته می‌شود اما نباید خالی باشد. ستون سوم تاریخ و ساعت ابطال در UTC با قالب YYMMDDHHMMSSZ و یک دلیل اختیاری برای ابطال است که بلافاصله پس از آن می‌آید و با ویرگول جدا می‌شود. دلایل معتبر عبارتند از "keyCompromise"، "CACompromise"، "affiliationChanged"، "superseded"، "cessationOfOperation"، "certificateHold" و "removeFromCRL"؛ هر مقدار دیگری یا ذکر نکردن دلیل منجر به "unspecified" می‌شود. ستون چهارم شامل شماره سریال گواهی با کدگذاری هگزادسیمال است. ستون‌های پنجم و ششم هر دو توسط دستور نادیده گرفته می‌شوند، بنابراین می‌توان آن‌ها را به‌طور کامل حذف کرد. آن‌ها می‌توانند شامل مسیری به گواهی (معمولاً تنظیم‌شده روی "unknown") و DN موضوع (subject DN) گواهی باشند که با اسلش RDNها را از هم جدا می‌کند. مثال index.txt: .PP .EX V 310930122422Z 03 unknown /C=CH/O=strongSwan/CN=moon... V 310930122422Z 04 unknown /C=CH/O=strongSwan/CN=sun... R 310930122422Z 231002122422Z,keyCompromise 88 V Z 05 .EE .PP توجه داشته باشید که فیلدها با تب از یکدیگر جدا می‌شوند. بنابراین اگر گواهی معتبر باشد، پس از تاریخ انقضا دو تب قرار می‌گیرد. سطر سوم در این مثال تنها چهار ستون مرتبط اول را مشخص می‌کند، و سطر چهارم حتی از یک تاریخ انقضای ساختگی استفاده می‌کند. . .SH "مثال‌ها (EXAMPLES)" . نمایش محتوای خام یک درخواست OCSP: .PP .EX pki \-\-ocsp \-\-in req_ca.der nonce: 5b:14:e3:cc:d5:b2:65:ec:c4:0d:c3:11:37:6a:9d:71 issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (no match) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (no match) serialNumber: 4f:33:21:1d:4d:fd:9b:db issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (no match) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (no match) serialNumber: 68:f2:93:10:65:d0:5e:d1 .EE .PP نمایش محتوای همان درخواست OCSP در صورتی که گواهی صادرکننده ارائه شده باشد: .PP .EX pki \-\-ocsp \-\-in req_ca.der \-\-cacert cacert.pem nonce: 5b:14:e3:cc:d5:b2:65:ec:c4:0d:c3:11:37:6a:9d:71 issuer: "C=CH, O=strongSwan Project, CN=strongSwan Root CA" issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (ok) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (ok) serialNumber: 4f:33:21:1d:4d:fd:9b:db issuer: "C=CH, O=strongSwan Project, CN=strongSwan Root CA" issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (ok) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (ok) serialNumber: 68:f2:93:10:65:d0:5e:d1 .EE .PP پاسخ به درخواست OCSP بالا، در حالی که پاسخ OCSP توسط خود CA امضا شده باشد: .PP .EX pki \-\-ocsp \-\-respond \-\-in req_ca.der \-\-cacert cacert.pem \-\-key cakey.pem \\ \-\-lifetime 10 > rsp_ca.der nonce: 5b:14:e3:cc:d5:b2:65:ec:c4:0d:c3:11:37:6a:9d:71 issuer: "C=CH, O=strongSwan Project, CN=strongSwan Root CA" issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (ok) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (ok) serialNumber: 4f:33:21:1d:4d:fd:9b:db thisUpdate: Oct 19 15:54:15 UTC 2023 nextUpdate: Oct 19 16:04:15 UTC 2023 certValidation: GOOD issuer: "C=CH, O=strongSwan Project, CN=strongSwan Root CA" issuerKeyHash: b6:76:79:95:b5:58:..:06:93:f3:39:79:19 (ok) issuerNameHash: af:25:78:ce:fc:15:..:67:95:81:31:a3:4d (ok) serialNumber: 68:f2:93:10:65:d0:5e:d1 thisUpdate: Oct 19 15:54:15 UTC 2023 nextUpdate: Oct 19 16:04:15 UTC 2023 certValidation: GOOD trusted signer: "C=CH, O=strongSwan Project, CN=strongSwan Root CA" ocspResponseStatus: successful .EE .PP پاسخ به یک درخواست OCSP امضاشده با ارائه زنجیره کامل اعتماد: .PP .EX pki \-\-ocsp --respond --in req_signed.der --cacert cacert.pem --cacert issuer1.pem \\ \-\-key signerKey1.pem \-\-cert signerCert1.pem \-\-lifetime 10 > rsp_signed.der requestor: "C=CH, O=strongSwan Project, CN=vpn.strongswan.org" using certificate "C=CH, O=strongSwan Project, CN=vpn.strongswan.org" using trusted intermediate ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 1" using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA" reached self-signed root ca with a path length of 1 requestor is trusted nonce: a8:0f:29:0f:08:9c:29:c1:0d:a8:cb:b0:21:fa:e1:f7 issuer: "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 1" issuerKeyHash: 5a:1b:ec:17:f0:6d:..:a2:c8:e7:6a:84:20 (ok) issuerNameHash: df:1e:24:71:96:e6:..:b9:82:18:45:e7:09 (ok) serialNumber: 04:ff:cc:8d:36:91:cb:35:d7:c4 thisUpdate: Oct 19 16:30:54 UTC 2023 nextUpdate: Oct 19 16:40:54 UTC 2023 certValidation: REVOKED revocationTime: Mar 26 06:41:54 UTC 2023 revocationReason: superseded trusted signer: "C=CH, O=strongSwan Project, CN=OCSP signer of strongSwan Issuing CA 1" ocspResponseStatus: successful .EE .PP پاسخ به یک درخواست OCSP حاوی دو مورد از صادرکنندگان شناخته‌شده مختلف که هر کدام یک امضاکننده OCSP دارند. صادرکننده اولین موردِ درخواست، امضاکننده OCSP مورد استفاده برای امضای پاسخ OCSP را مشخص می‌کند: .PP .EX pki \-\-ocsp \-\-respond \-\-in req.der \-\-cacert issuer1.pem \-\-cacert issuer2.pem \\ \-\-key signerKey1.pem \-\-cert signerCert1.pem \\ \-\-key signerKey2.pem \-\-cert signerCert2.pem \\ \-\-lifetime 10 > rsp_trusted.der nonce: a1:33:aa:bc:96:60:69:76:f3:bc:9c:88:3b:07:50:47 issuer: "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 2" issuerKeyHash: 72:41:ca:f9:35:87:..:d3:83:ab:d5:89:7b (ok) issuerNameHash: 5e:b2:b4:42:e1:a5:..:b2:c3:9a:38:4f:cd (ok) serialNumber: 29:ff:36:d9:9a:21:49:61:91:1d thisUpdate: Oct 19 16:02:35 UTC 2023 nextUpdate: Oct 19 16:12:35 UTC 2023 certValidation: REVOKED revocationTime: Sep 22 13:13:04 UTC 2023 revocationReason: superseded issuer: "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 1" issuerKeyHash: 5a:1b:ec:17:f0:6d:..:a2:c8:e7:6a:84:20 (ok) issuerNameHash: df:1e:24:71:96:e6:..:b9:82:18:45:e7:09 (ok) serialNumber: 10:ff:45:9a:6d:ee:4c:ec:7c:97 thisUpdate: Oct 19 16:02:35 UTC 2023 nextUpdate: Oct 19 16:12:35 UTC 2023 certValidation: FAILED there are multiple known issuers trusted signer: "C=CH, O=strongSwan Project, CN=OCSP signer of strongSwan Issuing CA 2" ocspResponseStatus: successful .EE .PP تکرار پاسخ OCSP بالا، اما با یک گواهی امضای OCSP خودامضاشده (self-signed): .PP .EX pki \-\-ocsp --respond \-\-in req.der \-\-cacert issuer1.pem \-\-cacert issuer2.pem \\ \-\-key signerKey.pem \-\-cert signerCert.pem \-\-lifetime 10 > rsp_self_signed.der nonce: a1:33:aa:bc:96:60:69:76:f3:bc:9c:88:3b:07:50:47 issuer: "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 2" issuerKeyHash: 72:41:ca:f9:35:87:..:d3:83:ab:d5:89:7b (ok) issuerNameHash: 5e:b2:b4:42:e1:a5:..:b2:c3:9a:38:4f:cd (ok) serialNumber: 29:ff:36:d9:9a:21:49:61:91:1d thisUpdate: Oct 19 16:13:23 UTC 2023 nextUpdate: Oct 19 16:23:23 UTC 2023 certValidation: REVOKED revocationTime: Sep 22 13:13:04 UTC 2023 revocationReason: superseded issuer: "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA 1" issuerKeyHash: 5a:1b:ec:17:f0:6d:..:a2:c8:e7:6a:84:20 (ok) issuerNameHash: df:1e:24:71:96:e6:..:b9:82:18:45:e7:09 (ok) serialNumber: 10:ff:45:9a:6d:ee:4c:ec:7c:97 thisUpdate: Oct 19 16:13:23 UTC 2023 nextUpdate: Oct 19 16:23:23 UTC 2023 certValidation: GOOD there are multiple known issuers self-signed signer: "C=CH, O=strongSwan Project, CN=strongSwan OCSP signer" ocspResponseStatus: successful .EE.PP .SH "همچنین ببینید (SEE ALSO)" .BR pki (1)