| PKI --OCSP(1) | strongSwan | PKI --OCSP(1) |
نام (NAME)
pki --ocsp - تجزیهگر درخواست OCSP و پاسخدهندهٔ OCSP.
خلاصه دستور (SYNOPSIS)
pki --ocsp |
[--in file] [--cacert file] [--debug level] |
pki --ocsp |
--respond [--in file] --cacert file [--key file|--keyid hex] [--cert file|--certid hex] [--index file] [--lifetime minutes] [--digest digest] [--rsa-padding padding] [--debug level] |
pki --ocsp |
--options file |
pki --ocsp |
-h | --help |
توضیحات (DESCRIPTION)
این زیرفرمان از pki(1) یک درخواست Online Certificate Status Protocol (OCSP) را همانطور که در RFC 6960 تعریف شده است تجزیه میکند و با گزینهٔ --respond یک پاسخ OCSP بر اساس درخواست دریافتی تولید مینماید. وضعیت گواهی برای این کار میتواند توسط افزونهها تأمین شود؛ بنابراین در صورت عدم استفاده از گزینهٔ --index، این ابزار در حال حاضر نیازمند افزونههای openxpki و mysql است تا بتواند مستقیماً به پایگاهدادهٔ داخلی certificate یک سرور OpenXPKI (https://openxpki.org) دسترسی پیدا کند.
گزینهها (OPTIONS)
- -h, --help
- چاپ اطلاعات نحوهٔ استفاده بههمراه خلاصهای از گزینههای موجود.
- -v, --debug level
- تنظیم سطح اشکالزدایی (دیباگ)، پیشفرض: 1.
- -+, --options file
- خواندن گزینههای خط فرمان از file.
- -i, --in file
- درخواست OCSP. در صورت مشخص نشدن، درخواست OCSP از STDIN خوانده میشود.
- -C, --cacert file
- گواهی CA متناظر با یکی از هشهای صادرکنندهٔ موجود در درخواست OCSP. اگر درخواست OCSP امضا شده باشد، یک گواهی CA که زنجیرهٔ اعتماد را تشکیل میدهد. میتواند چندین بار استفاده شود.
- -k, --key file
- کلید امضاکنندهٔ OCSP. میتواند چندین بار استفاده شود.
- -K, --keyid hex
- شناسهٔ شیء (handle) مربوط به کلید امضاکنندهٔ OCSP در کارت هوشمند یا TPM 2.0. میتواند چندین بار استفاده شود.
- -c, --cert file
- گواهی امضاکنندهٔ OCSP (در صورتی که گواهی CA نباشد). میتواند چندین بار استفاده شود.
- -X, --certid hex
- شناسهٔ شیء (handle) مربوط به گواهی امضاکنندهٔ OCSP در کارت هوشمند یا TPM 2.0. میتواند چندین بار استفاده شود.
- -x, --index file
- فایل index.txt به
سبک OpenSSL که
اطلاعات
مربوط به
وضعیت
گواهیهای
صادرشده
توسط گواهی
CA
بارگذاریشده
دقیقاً پیش
از آن را
ارائه
میدهد. در
صورتی که
وضعیت
چندین CA
باید ارائه
شود،
میتواند
چندین بار
استفاده
شود؛ فقط
دقت کنید که
هر فایل index.txt
بلافاصله
پس از گواهی
CA
مربوطهاش
ارسال شود.
برای مشاهدهٔ شرح ساختار این فایلها، ادامه را ببینید.
- -l, --lifetime minutes
- مدتزمان اعتبار پاسخ OCSP برحسب دقیقه (در صورت عدم تعیین، فیلد nextUpdate حذف میشود).
- -g, --digest digest
- خلاصه یا دایجست (digest) مورد استفاده برای ایجاد امضا. یکی از موارد md5، sha1، sha224، sha256، sha384 یا sha512، sha3_224، sha3_256، sha3_384، sha3_512. مقدار پیشفرض بر اساس نوع و اندازهٔ کلید امضای OCSP تعیین میشود.
- -R, --rsa-padding padding
- پدینگ (padding)
مورد
استفاده
برای
امضاهای RSA.
میتواند
pkcs1 یا pss
باشد،
پیشفرض بر
روی pkcs1 است.
هر سطر در
یک فایل 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:
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
توجه داشته باشید که فیلدها با تب از یکدیگر جدا میشوند. بنابراین اگر گواهی معتبر باشد، پس از تاریخ انقضا دو تب قرار میگیرد. سطر سوم در این مثال تنها چهار ستون مرتبط اول را مشخص میکند، و سطر چهارم حتی از یک تاریخ انقضای ساختگی استفاده میکند.
مثالها (EXAMPLES)
نمایش محتوای خام یک درخواست OCSP:
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
نمایش محتوای همان درخواست OCSP در صورتی که گواهی صادرکننده ارائه شده باشد:
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
پاسخ به درخواست OCSP بالا، در حالی که پاسخ OCSP توسط خود CA امضا شده باشد:
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
پاسخ به یک درخواست OCSP امضاشده با ارائه زنجیره کامل اعتماد:
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
پاسخ به یک درخواست OCSP حاوی دو مورد از صادرکنندگان شناختهشده مختلف که هر کدام یک امضاکننده OCSP دارند. صادرکننده اولین موردِ درخواست، امضاکننده OCSP مورد استفاده برای امضای پاسخ OCSP را مشخص میکند:
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
تکرار پاسخ OCSP بالا، اما با یک گواهی امضای OCSP خودامضاشده (self-signed):
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
همچنین ببینید (SEE ALSO)
| 2023-10-29 | 6.1.0 |