PKI --EST(1) strongSwan PKI --EST(1)

pki --est - ثبت‌نام یک گواهی X.509 نزد یک سرور EST

pki --est ---url url [--label label] [--in file] --cacert file [--cert file|--certid hex --key file|--keyid hex] [--userpass username:password] [--interval time] [--maxpolltime time] [--outform encoding] [--debug level]
pki --est --options file
pki --est -h | --help

این زیردستور از pki(1) یک درخواست گواهی PKCS#10 را از طریق HTTPS با استفاده از پروتکل Enrollment over Secure Transport (EST) (RFC 7030) به یک سرور ارسال می‌کند. پس از احراز صلاحیت موفق که با احراز هویت دستی نیازمند بررسی دوره‌ای (polling) از سوی کلاینت ثبت‌نام است، سرور EST یک گواهی X.509 امضاشده توسط CA را بازمی‌گرداند.

پیش از انقضای گواهی فعلی، می‌توان گواهی کلاینت جدیدی را بر اساس یک کلید خصوصی تازه درخواست کرد، که در آن از گواهی قدیمی و کلید قدیمی برای احراز هویت خودکار کلاینت TLS نزد سرور EST استفاده می‌شود.

چاپ اطلاعات نحوه استفاده به همراه خلاصه‌ای از گزینه‌های موجود.
تنظیم سطح اشکال‌زدایی، پیش‌فرض: 1.
-+, --options file
خواندن گزینه‌های خط فرمان از file.
نشانی URL سرور EST.
برچسب در مسیر سرور EST.
درخواست گواهی PKCS#10. اگر داده نشود، درخواست گواهی از STDIN خوانده می‌شود.
گواهی CA در زنجیره اعتماد که برای تأیید امضای سرور TLS در EST یا در زنجیره اعتماد برای تأیید گواهی کلاینت صادرشده توسط CA استفاده می‌شود. می‌تواند چندین بار استفاده شود.
گواهی کلاینت برای تمدید.
شناسه شیء (handle) گواهی کلاینت در کارت هوشمند یا TPM 2.0.
کلید خصوصی کلاینت برای جایگزینی.
شناسه شیء (handle) کلید خصوصی کلاینت در کارت هوشمند یا TPM 2.0.
ترکیب اختیاری username:password که ممکن است برای احراز هویت پایه HTTP استفاده شود.
فاصله زمانی بررسی دوره‌ای (poll) به ثانیه، پیش‌فرض 60s است. این مقدار ممکن است توسط سرآیند retry-after در پاسخ HTTP 202 از سرور EST بازنویسی شود.
حداکثر زمان بررسی دوره‌ای (poll) به ثانیه، پیش‌فرض 0 است که به معنی بررسی دوره‌ای نامحدود می‌باشد.
کدگذاری فایل گواهی ایجادشده. یا der (ASN.1 DER) یا pem (Base64 PEM)، پیش‌فرض der است.

برای صرفه‌جویی در تایپ، گزینه‌های خط فرمان زیر در یک فایل est.opt ذخیره شده‌اند:

--url https://pki.strongswan.org:8443
--cacert tlsca.crt
--cacert tlsca-1.crt
--cacert myca.crt
--cacert myca-1.crt

نکته: برای یک اتصال HTTPS موفق، باید اعتماد به گواهی سرور EST برقرار شود. زنجیره اعتماد TLS شامل گواهی CA ریشه و در صورت تمایل گواهی‌های CA میانی باید با استفاده از گزینه‌های متعدد --cacert مشخص شود.

گزینه --cacert همچنین باید برای امکان اعتبارسنجی گواهی کلاینت دریافت‌شده که توسط CA صادر شده است استفاده شود. این زنجیره اعتماد دوم ممکن است با زنجیره اعتماد TLS یکسان باشد (اگر سرور EST از گواهی سرور TLS صادرشده توسط CA خودش استفاده کند) یا ممکن است کاملاً متفاوت باشد، برای نمونه اگر گواهی سرور EST از Let's Encrypt استفاده شده باشد.

با دستور زیر، یک گواهی X.509 امضاشده توسط CA میانی بر اساس یک درخواست گواهی PKCS#10 از یک سرور EST درخواست می‌شود:

pki --options est.opt --in moonReq.der > moonCert.der
negotiated TLS 1.3 using suite TLS_AES_256_GCM_SHA384
received TLS server certificate 'C=CH, O=strongSwan Project, CN=pki.strongswan.org'
  using certificate "C=CH, O=strongSwan Project, CN=pki.strongswan.org"
  using trusted intermediate ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA"
  using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA"
  reached self-signed root ca with a path length of 1
  EST request pending, polling indefinitely every 300 seconds
  going to sleep for 300 seconds
  ...
Issued certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org"
  serial: 1a:ff:de:66:d9:38:ea:d5:b6:da
  using certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org"
  using trusted intermediate ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA"
  using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA"
  reached self-signed root ca with a path length of 1
Issued certificate is trusted, valid from Aug 22 15:19:43 2022 until Aug 22 15:19:43 2023 (currently valid)

این گواهی را می‌توان مدتی پیش از انقضا با دستور زیر تمدید کرد:

pki --options est.opt --in moonReqNew.der --cert moonCert.der --key moonKey.der > moonCertNew.der
negotiated TLS 1.3 using suite TLS_AES_256_GCM_SHA384
received TLS server certificate 'C=CH, O=strongSwan Project, CN=pki.strongswan.org'
  using certificate "C=CH, O=strongSwan Project, CN=pki.strongswan.org"
  using trusted intermediate ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA"
  using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA"
  reached self-signed root ca with a path length of 1
sending TLS client certificate 'C=CH, O=strongSwan Project, CN=moon.strongswan.org'
sending TLS intermediate certificate 'C=CH, O=strongSwan Project, CN=strongSwan Issuing CA'
Issued certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org"
  serial: 1b:ff:ad:dc:2f:50:c4:cb:a1:44
  using certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org"
  using trusted intermediate ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Issuing CA"
  using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA"
  reached self-signed root ca with a path length of 1
Issued certificate is trusted, valid from Jul 20 12:21:00 2023 until Jul 20 12:21:00 2024 (currently valid)

اگر کلید خصوصی و گواهی کلاینت در یک TPM 2.0 ذخیره شده باشد، تمدید می‌تواند با گزینه‌های زیر انجام شود:

pki --options est.opt --in moonReqNew.der --certid 0x01800004 --keyid 0x81010004 > moonCertNew.der

pki(1)

2022-08-22 6.1.0