| PKI(1) | strongSwan | PKI(1) |
نام (NAME)
pki - ابزار ساده مدیریت زیرساخت کلید عمومی (PKI)
خلاصه دستور (SYNOPSIS)
pki |
command [option ...] |
pki |
-h | --help |
توضیحات (DESCRIPTION)
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 با آن تعامل میکند.
دستورها (COMMANDS)
- -h, --help
- چاپ اطلاعات نحوه استفاده و خلاصهای کوتاه از دستورهای موجود.
- -g, --gen
- تولید یک کلید خصوصی جدید.
- -s, --self
- ایجاد یک گواهی خودامضاشده (self-signed).
- -i, --issue
- صدور یک گواهی با استفاده از گواهی و کلید CA.
- -c, --signcrl
- صدور یک CRL با استفاده از گواهی و کلید CA.
- -z, --acert
- صدور یک گواهی ویژگی (attribute certificate).
- -r, --req
- ایجاد یک درخواست گواهی PKCS#10.
- -7, --pkcs7
- فراهم کردن توابع بستهبندی/بازکردن (wrap/unwrap) استاندارد PKCS#7.
- -k, --keyid
- محاسبه شناسههای کلید برای یک کلید یا گواهی.
- -a, --print
- چاپ یک مدرک اعتبار (کلید، گواهی و غیره) به شکل خوانا برای انسان.
- -d, --dn
- استخراج DN موضوع (subject DN) یک گواهی X.509.
- -p, --pub
- استخراج یک کلید عمومی از یک کلید خصوصی یا گواهی.
- -V, --verify
- تأیید صحت یک گواهی با استفاده از یک گواهی CA.
- -S, --scep
- ثبتنام یک گواهی X.509 با یک سرور SCEP.
- -C, --scepca
- دریافت گواهی[های] CA [و RA] از یک سرور SCEP.
- -E, --est
- ثبتنام یک گواهی X.509 با یک سرور EST.
- -e, --estca
- دریافت گواهی[های] CA از یک سرور EST.
- -o, --ocsp
- تجزیهگر درخواست OCSP و پاسخدهنده OCSP.
گزینههای عمومی (GENERAL OPTIONS)
- -v, --debug
- تنظیم سطح اشکالزدایی (debug)، پیشفرض: 1
- -+, --options
- خواندن گزینههای خط فرمان از یک فایل
مثالها (EXAMPLES)
تولید یک گواهی CA
گام نخست تولید یک کلید خصوصی با استفاده از دستور --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
تولید گواهیهای موجودیت نهایی (End-Entity)
با در دست داشتن گواهی و کلید 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)
در صورتی که گواهیهای موجودیت نهایی نیاز به ابطال داشته باشند، میتوان فهرستهای 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-- در گواهیهای صادرشده گنجاند.
همچنین ببینید (SEE ALSO)
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 |