CA.PL(1ssl) OpenSSL CA.PL(1ssl)

CA.pl - رابطی کاربرپسندتر برای برنامه‌های گواهی OpenSSL

CA.pl -? | -h | -help

CA.pl -newcert | -newreq | -newreq-nodes | -xsign | -sign | -signCA | -signcert | -crl | -newca [-extra-cmd parameter]

CA.pl -pkcs12 [certname]

CA.pl -verify certfile ...

CA.pl -revoke certfile [reason]

اسکریپت CA.pl یک اسکریپت پرل (Perl) است که آرگومان‌های خط فرمان مربوطه را برای برخی از عملیات‌های متداول گواهی به دستور openssl(1) ارسال می‌کند. هدف آن ساده‌سازی فرایند ایجاد و مدیریت گواهی با استفاده از چند گزینهٔ ساده است.

این اسکریپت به عنوان یک رابط کاربری ساده (front end) برای برنامهٔ openssl(1) جهت استفادهٔ افراد مبتدی طراحی شده است. رفتار آن همیشه دقیقاً همان چیزی نیست که انتظار می‌رود. برای کنترل بیشتر بر رفتار دستورهای گواهی، دستور openssl(1) را به‌طور مستقیم اجرا کنید.

بیشتر نام‌های فایل ذکرشده در زیر را می‌توان با ویرایش اسکریپت CA.pl تغییر داد.

در برخی از محیط‌ها ممکن است اجرای مستقیم اسکریپت CA.pl امکان‌پذیر نباشد (برای نمونه در Win32) و مکان پیش‌فرض فایل پیکربندی نادرست باشد. در این حالت می‌توان از دستور زیر استفاده کرد:

perl -S CA.pl

و متغیر محیطی OPENSSL_CONF را می‌توان طوری تنظیم کرد که به مسیر درست فایل پیکربندی اشاره کند.

-?, -h, -help
پیام راهنمای نحوهٔ استفاده از دستور را چاپ می‌کند.
یک گواهی خودامضاشده (self-signed) جدید ایجاد می‌کند. کلید خصوصی در فایل newkey.pem و درخواست در فایل newreq.pem نوشته می‌شود. این گزینه openssl-req(1) را فراخوانی می‌کند.
یک درخواست گواهی جدید ایجاد می‌کند. کلید خصوصی در فایل newkey.pem و درخواست در فایل newreq.pem نوشته می‌شود. این گزینه در پشت‌صحنه openssl-req(1) را اجرا می‌کند.
مانند گزینهٔ -newreq است، با این تفاوت که کلید خصوصی رمزگذاری نخواهد شد. از openssl-req(1) استفاده می‌کند.
یک سلسله‌مراتب CA (مرجع صدور گواهی) جدید برای استفاده با برنامهٔ ca (یا گزینه‌های -signcert و -xsign) ایجاد می‌کند. از کاربر خواسته می‌شود نام فایل گواهی‌های CA (که باید شامل کلید خصوصی نیز باشد) را وارد کند یا با فشردن کلید ENTER، جزئیات CA از کاربر پرسیده خواهد شد. فایل‌ها و پوشه‌های مربوطه در پوشه‌ای به نام demoCA در پوشهٔ جاری ایجاد می‌شوند. از openssl-req(1) و openssl-ca(1) استفاده می‌کند.

اگر پوشهٔ demoCA از قبل وجود داشته باشد، دستور -newca روی آن بازنویسی نمی‌کند و هیچ کاری انجام نخواهد داد. این حالت ممکن است زمانی رخ دهد که فراخوانی قبلی گزینهٔ -newca به‌صورت غیرعادی پایان یافته باشد. برای دستیابی به رفتار درست، در صورت وجود این پوشه، آن را حذف کنید.

یک فایل PKCS#12 حاوی گواهی کاربر، کلید خصوصی و گواهی CA ایجاد می‌کند. انتظار دارد گواهی کاربر و کلید خصوصی در فایل newcert.pem و گواهی CA در فایل demoCA/cacert.pem قرار داشته باشند و فایلی با نام newcert.p12 ایجاد می‌کند. بنابراین این دستور را می‌توان پس از گزینهٔ -sign فراخوانی کرد. فایل PKCS#12 را می‌توان مستقیماً وارد یک مرورگر کرد. اگر آرگومان دیگری در خط فرمان مشخص شده باشد، به عنوان «نام ملموس» (friendly name) برای گواهی استفاده خواهد شد (که معمولاً در کادر فهرست مرورگر نمایش داده می‌شود)، در غیر این صورت از نام "My Certificate" استفاده می‌شود. انجام کار را به openssl-pkcs12(1) محول می‌کند.
دستور openssl-ca(1) را برای امضای یک درخواست گواهی فراخوانی می‌کند. انتظار دارد درخواست در فایل newreq.pem قرار داشته باشد. گواهی جدید در فایل newcert.pem نوشته می‌شود، مگر در مورد گزینهٔ -xsign که در آن خروجی در خروجی استاندارد نوشته خواهد شد.
این گزینه همانند گزینهٔ -sign است، به جز اینکه از بخش v3_ca در فایل پیکربندی استفاده می‌کند و بنابراین درخواست امضاشده را به یک گواهی معتبر CA تبدیل می‌نماید. این قابلیت هنگام ایجاد یک CA میانی (intermediate CA) از یک CA ریشه (root CA) مفید است. پارامترهای اضافی به openssl-ca(1) منتقل می‌شوند.
این گزینه همانند -sign است، با این تفاوت که انتظار دارد یک گواهی خودامضاشده در فایل newreq.pem موجود باشد. پارامترهای اضافی به openssl-x509(1) و openssl-ca(1) منتقل می‌شوند.
یک فهرست ابطال گواهی (CRL) تولید می‌کند. openssl-ca(1) را اجرا می‌کند.
گواهی موجود در certfile مشخص‌شده را ابطال می‌کند. یک علت اختیاری نیز می‌تواند مشخص شود که باید یکی از این موارد باشد: unspecified، keyCompromise، CACompromise، affiliationChanged، superseded، cessationOfOperation، certificateHold یا removeFromCRL. از openssl-ca(1) بهره می‌گیرد.
گواهی‌ها را در برابر گواهی CA مربوط به demoCA اعتبارسنجی می‌کند. اگر هیچ گواهی‌ای در خط فرمان مشخص نشده باشد، تلاش می‌کند فایل newcert.pem را اعتبارسنجی کند. این گزینه openssl-verify(1) را فراخوانی می‌کند.
به ازای هر گزینهٔ extra-cmd، در صورتی که آن زیردستور فراخوانی شود، parameter به زیردستور openssl(1) با نام همسان با cmd ارسال می‌گردد. برای نمونه، اگر openssl-req(1) فراخوانی شود، مقدار parameter داده‌شده با -extra-req به آن ارسال خواهد شد. برای پارامترهای چندکلمه‌ای، می‌توانید گزینه را تکرار کنید یا parameterها را درون گیومه بگذارید تا از دید شل شما مانند یک کلمه به نظر برسد. برای اطلاعات بیشتر به مستندات هر دستور مراجعه کنید.

ایجاد یک سلسله‌مراتب CA:

CA.pl -newca

مثال کامل ایجاد گواهی: ایجاد یک CA، ایجاد یک درخواست، امضای درخواست و در نهایت ایجاد یک فایل PKCS#12 حاوی آن.

CA.pl -newca
CA.pl -newreq
CA.pl -sign
CA.pl -pkcs12 "My Test Certificate"

متغیر محیطی OPENSSL ممکن است برای مشخص کردن نام برنامهٔ OpenSSL استفاده شود. این مقدار می‌تواند یک مسیر کامل یا یک مسیر نسبی باشد.

متغیر محیطی OPENSSL_CONFIG می‌تواند برای تعیین یک گزینه و مقدار پیکربندی برای دستورهای req و ca که توسط این اسکریپت فراخوانی می‌شوند به کار رود. مقدار آن باید شامل گزینه و مسیر فایل باشد، مانند: "-config /path/to/conf-file".

openssl(1), openssl-x509(1), openssl-ca(1), openssl-req(1), openssl-pkcs12(1), config(5)

حق نشر ۲۰۰۰-۲۰۲۶ نویسندگان پروژه OpenSSL. تمامی حقوق محفوظ است.

تحت مجوز آپاچی نسخه ۲.۰ («مجوز») منتشر شده است. شما نمی‌توانید از این فایل مگر در انطباق با این مجوز استفاده کنید. می‌توانید نسخه‌ای از مجوز را در فایل LICENSE توزیع مبدا یا در نشانی زیر دریافت کنید: https://www.openssl.org/source/license.html.

2026-08-25 3.6.4