PKI(1) strongSwan PKI(1)

pki - ابزار ساده مدیریت زیرساخت کلید عمومی (PKI)

pki command [option ...]
pki -h | --help

pki مجموعه‌ای از دستورها است که به شما امکان مدیریت یک زیرساخت کلید عمومی (PKI) ساده را می‌دهد.

تولید جفت‌کلیدهای RSA و ECDSA، ایجاد درخواست‌های گواهی PKCS#10 شامل subjectAltNames، ایجاد گواهی‌های X.509 خودامضاشده برای موجودیت نهایی (end-entity) و مرجع صدور گواهی ریشه (root CA)، صدور گواهی‌های مرجع صدور گواهی میانی (intermediate CA) و موجودیت نهایی که با کلید خصوصی یک CA امضا شده‌اند و شامل subjectAltNames، نقاط توزیع CRL و نشانی‌های URI سرورهای OCSP هستند. شما همچنین می‌توانید کلیدهای عمومی خام را از کلیدهای خصوصی، درخواست‌های گواهی و خود گواهی‌ها استخراج کرده و دو نوع شناسه کلید مبتنی بر SHA-1 را محاسبه کنید.

دستور pki همچنین از ثبت‌نام گواهی از طریق Simple Certificate Enrollment Protocol (SCEP) مطابق با RFC 8894 پشتیبانی می‌کند که جایگزین ابزار منسوخ‌شده ipsec scepclient شده است. علاوه بر این، پروتکل Enrollment over Secure Transport (EST) مطابق با RFC 7030 نیز پشتیبانی می‌شود.

جدیدترین قابلیت، یک پاسخ‌دهنده Online Certificate Status Protocol (OCSP) مطابق با RFC 6960 است که با دسترسی مستقیم به پایگاه‌داده داخلی گواهی‌های سرور OpenXPKI با آن تعامل می‌کند.

چاپ اطلاعات نحوه استفاده و خلاصه‌ای کوتاه از دستورهای موجود.
تولید یک کلید خصوصی جدید.
ایجاد یک گواهی خودامضاشده (self-signed).
صدور یک گواهی با استفاده از گواهی و کلید CA.
صدور یک CRL با استفاده از گواهی و کلید CA.
صدور یک گواهی ویژگی (attribute certificate).
ایجاد یک درخواست گواهی PKCS#10.
-7, --pkcs7
فراهم کردن توابع بسته‌بندی/بازکردن (wrap/unwrap) استاندارد PKCS#7.
محاسبه شناسه‌های کلید برای یک کلید یا گواهی.
چاپ یک مدرک اعتبار (کلید، گواهی و غیره) به شکل خوانا برای انسان.
استخراج DN موضوع (subject DN) یک گواهی X.509.
استخراج یک کلید عمومی از یک کلید خصوصی یا گواهی.
تأیید صحت یک گواهی با استفاده از یک گواهی CA.
ثبت‌نام یک گواهی X.509 با یک سرور SCEP.
دریافت گواهی[های] CA [و RA] از یک سرور SCEP.
ثبت‌نام یک گواهی X.509 با یک سرور EST.
دریافت گواهی[های] CA از یک سرور EST.
تجزیه‌گر درخواست OCSP و پاسخ‌دهنده OCSP.

تنظیم سطح اشکال‌زدایی (debug)، پیش‌فرض: 1
-+, --options
خواندن گزینه‌های خط فرمان از یک فایل

گام نخست تولید یک کلید خصوصی با استفاده از دستور --gen است. به‌طور پیش‌فرض این دستور یک کلید RSA با طول ۲۰۴۸ بیت تولید می‌کند.

pki --gen > ca_key.der

این کلید برای ایجاد گواهی CA خودامضاشده با استفاده از دستور --self به کار می‌رود. نام متمایز (distinguished name) باید متناسب با نیاز شما تنظیم شود.

pki --self --ca --in ca_key.der \
    --dn "C=CH, O=strongSwan, CN=strongSwan CA" > ca_cert.der

با در دست داشتن گواهی و کلید CA ریشه، می‌توان گواهی‌های موجودیت نهایی را برای کلاینت‌ها و سرورها صادر کرد. به همین ترتیب می‌توان گواهی‌های CA میانی را صادر کرد که به نوبه خود قادر به صدور گواهی‌های دیگر هستند. برای تولید یک گواهی برای سرور، ابتدا یک کلید خصوصی ایجاد می‌کنیم.

pki --gen > server_key.der

کلید عمومی در گواهی گنجانده خواهد شد، بنابراین آن را از کلید خصوصی استخراج می‌کنیم.

pki --pub --in server_key.der > server_pub.der

دستور زیر از گواهی CA و کلید خصوصی برای صدور گواهی برای این سرور استفاده می‌کند. نام متمایز، subjectAltName(ها) و پرچم‌ها را در صورت نیاز تنظیم کنید (برای گزینه‌های بیشتر pki --issue(8) را بررسی کنید).

pki --issue --in server_pub.der --cacert ca_cert.der \
    --cakey ca_key.der --dn "C=CH, O=strongSwan, CN=VPN Server" \
    --san vpn.strongswan.org --flag serverAuth > server_cert.der

به جای ذخیره کلید عمومی در یک فایل جداگانه، خروجی --pub را نیز می‌توان مستقیماً به دستور بالا هدایت (pipe) کرد.

در صورتی که گواهی‌های موجودیت نهایی نیاز به ابطال داشته باشند، می‌توان فهرست‌های CRL را با استفاده از دستور --signcrl تولید کرد.

pki --signcrl --cacert ca_cert.der --cakey ca_key.der \
    --reason superseded --cert server_cert.der > crl.der

گواهی مشخص‌شده با cacert-- باید یک گواهی CA یا گواهی دارای کاربرد کلید توسعه‌یافته crlSign باشد (flag crlSign--). نشانی‌های URI مربوط به CRLها را می‌توان با گزینه crl-- در گواهی‌های صادرشده گنجاند.

pki --gen(1), pki --self(1), pki --issue(1), pki --signcrl(1), pki --acert(1), pki --req(1), pki --pkcs7(1), pki --keyid(1), pki --print(1), pki --dn(1), pki --pub(1), pki --verify(1), pki --scep(1) pki --scepca(1) pki --est(1) pki --estca(1) pki --ocsp(1)

2023-10-20 6.1.0