OPENSSL-PKEY(1ssl) OpenSSL OPENSSL-PKEY(1ssl) نام (NAME) openssl-pkey - مدیریت کلید عمومی و خصوصی خلاصه دستور (SYNOPSIS) openssl pkey [-help] [-engine id] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [-check] [-pubcheck] [-in filename|uri] [-inform DER|PEM|P12|ENGINE] [-passin arg] [-pubin] [-out filename] [-outform DER|PEM] [-cipher] [-passout arg] [-traditional] [-pubout] [-noout] [-text] [-text_pub] [-ec_conv_form arg] [-ec_param_enc arg] توضیحات (DESCRIPTION) این دستور کلیدهای عمومی یا خصوصی را پردازش می‌کند. این کلیدها می‌توانند میان قالب‌های گوناگون تبدیل شوند و اجزای آن‌ها چاپ شوند. گزینه‌ها (OPTIONS) گزینه‌های عمومی (General options) -help نمایش پیام راهنمای استفاده از دستور. -engine id بخش "Engine Options" را در openssl(1) ببینید. این گزینه منسوخ شده است. -provider name -provider-path path -provparam [name:]key=value -propquery propq بخش "Provider Options" را در openssl(1)، provider(7) و property(7) ببینید. -check این گزینه سازگاری یک جفت‌کلید را برای هر دو جزء عمومی و خصوصی بررسی می‌کند. -pubcheck این گزینه درستی یک کلید عمومی یا جزء عمومی از یک جفت‌کلید را بررسی می‌کند. گزینه‌های ورودی (Input options) -in filename|uri فایل ورودی را برای خواندن کلید مشخص می‌کند، یا در صورت مشخص نشدن این گزینه از ورودی استاندارد استفاده می‌شود. اگر کلید ورودی رمزگذاری شده باشد و -passin داده نشده باشد، عبارت عبور درخواست خواهد شد. -inform DER|PEM|P12|ENGINE قالب ورودی کلید؛ به‌طور پیش‌فرض مشخص نشده است. برای جزئیات بیشتر به openssl-format-options(1) مراجعه کنید. -passin arg منبع گذرواژه برای ورودی کلید. برای اطلاعات بیشتر درباره قالب arg به openssl-passphrase-options(1) مراجعه کنید. -pubin به‌طور پیش‌فرض یک کلید خصوصی از ورودی خوانده می‌شود. با این گزینه، در عوض یک کلید عمومی خوانده خواهد شد. اگر ورودی فاقد کلید عمومی باشد اما حاوی یک کلید خصوصی باشد، بخش عمومی آن استفاده می‌شود. گزینه‌های خروجی (Output options) -out filename فایل خروجی را برای ذخیره خروجی کدگذاری‌شده و/یا متنی کلید مشخص می‌کند، یا در صورت مشخص نشدن این گزینه از خروجی استاندارد استفاده می‌شود. نام فایل خروجی می‌تواند مشابه نام فایل ورودی باشد که منجر به جایگزینی محتوای فایل خواهد شد. توجه داشته باشید که عملیات ورودی/خروجی فایل اتمیک (اتمی) نیست؛ فایل خروجی ابتدا خالی (truncate) شده و سپس نوشته می‌شود. اگر هر گزینه سایفری تنظیم شده باشد اما -passout داده نشده باشد، عبارت عبور درخواست خواهد شد. هنگامی که ورود گذرواژه قطع شود، فایل خروجی دست‌نخورده باقی می‌ماند. -outform DER|PEM قالب خروجی کلید؛ مقدار پیش‌فرض PEM است. برای جزئیات بیشتر به openssl-format-options(1) مراجعه کنید. -cipher کلید خصوصی کدگذاری‌شده با PEM را با سایفر ارائه‌شده رمزگذاری می‌کند. هر نام الگوریتمی که توسط EVP_get_cipherbyname() پذیرفته شود قابل قبول است، مانند aes128. رمزگذاری برای خروجی DER پشتیبانی نمی‌شود. -passout arg منبع گذرواژه برای فایل خروجی. برای اطلاعات بیشتر درباره قالب arg به openssl-passphrase-options(1) مراجعه کنید. -traditional به‌طور معمول یک کلید خصوصی با استفاده از قالب استاندارد نوشته می‌شود: این قالب PKCS#8 همراه با الگوریتم رمزنگاری مناسب (در صورت وجود) است. اگر گزینه -traditional مشخص شود، در عوض از قالب قدیمی‌تر «سنتی» (traditional) استفاده می‌شود. -pubout به‌طور پیش‌فرض کلید خصوصی و عمومی در خروجی نوشته می‌شوند؛ این گزینه خروجی را فقط به اجزای عمومی محدود می‌کند. اگر ورودی یک کلید عمومی باشد، این گزینه به‌طور خودکار تنظیم می‌شود. هنگامی که با -text ترکیب شود، معادل -text_pub خواهد بود. -noout از نوشتن کلید در قالب کدگذاری‌شده در خروجی خودداری می‌کند. -text اجزای مختلف کلید را به‌صورت متن ساده چاپ می‌کند (احتمالاً علاوه بر فرم کدگذاری‌شده PEM). این گزینه را نمی‌توان با خروجی کدگذاری‌شده در قالب DER ترکیب کرد. -text_pub تنها اجزای کلید عمومی را به‌صورت متنی در خروجی چاپ می‌کند (حتی برای کلیدهای خصوصی). این گزینه را نمی‌توان با خروجی کدگذاری‌شده در قالب DER ترکیب کرد. -ec_conv_form arg این گزینه فقط برای کلیدهای مبتنی بر منحنی بیضوی (elliptic-curve) کاربرد دارد. این گزینه نحوه تبدیل نقاط روی منحنی بیضوی به رشته‌های هشت‌بیتی (octet strings) را مشخص می‌کند. مقادیر ممکن عبارتند از: compressed (مقدار پیش‌فرض)، uncompressed و hybrid. برای اطلاعات بیشتر در مورد قالب‌های تبدیل نقطه، لطفاً استاندارد X9.62 را مطالعه کنید. نکته: به دلیل مسائل مربوط به حق اختراع (پتنت)، گزینه compressed به‌طور پیش‌فرض برای منحنی‌های باینری غیرفعال است و می‌توان با تعریف ماکروی پیش‌پردازنده OPENSSL_EC_BIN_PT_COMP در زمان کامپایل، آن را فعال کرد. -ec_param_enc arg این گزینه فقط برای کلیدهای عمومی و خصوصی مبتنی بر منحنی بیضوی کاربرد دارد. این گزینه نحوه کدگذاری پارامترهای منحنی بیضوی را مشخص می‌کند. مقادیر ممکن عبارتند از: named_curve، یعنی پارامترهای ec توسط یک OID مشخص می‌شوند، یا explicit که در آن پارامترهای ec به‌طور صریح داده می‌شوند (برای تعریف ساختارهای پارامترهای EC به RFC 3279 مراجعه کنید). مقدار پیش‌فرض named_curve است. نکته: گزینه جایگزین implicitlyCA، همان‌طور که در RFC 3279 مشخص شده است، در حال حاضر در OpenSSL پیاده‌سازی نشده است. مثال‌ها (EXAMPLES) برای حذف عبارت عبور از یک کلید خصوصی: openssl pkey -in key.pem -out keyout.pem برای رمزگذاری یک کلید خصوصی با استفاده از Triple DES: openssl pkey -in key.pem -des3 -out keyout.pem برای تبدیل یک کلید خصوصی از قالب PEM به DER: openssl pkey -in key.pem -outform DER -out keyout.der برای چاپ اجزای یک کلید خصوصی در خروجی استاندارد: openssl pkey -in key.pem -text -noout برای چاپ اجزای عمومی یک کلید خصوصی در خروجی استاندارد: openssl pkey -in key.pem -text_pub -noout برای خروجی گرفتن صرفاً از بخش عمومی یک کلید خصوصی: openssl pkey -in key.pem -pubout -out pubkey.pem برای تغییر کدگذاری پارامترهای EC به explicit: openssl pkey -in key.pem -ec_param_enc explicit -out keyout.pem برای تغییر قالب تبدیل نقطه EC به compressed: openssl pkey -in key.pem -ec_conv_form compressed -out keyout.pem همچنین ببینید (SEE ALSO) openssl(1), openssl-genpkey(1), openssl-rsa(1), openssl-pkcs8(1), openssl-dsa(1), openssl-genrsa(1), openssl-gendsa(1) تاریخچه (HISTORY) گزینه -engine در OpenSSL 3.0 منسوخ شد. حق نشر (COPYRIGHT) Copyright 2006-2023 The OpenSSL Project Authors. All Rights Reserved. تحت مجوز آپاچی نسخه ۲.۰ (Apache License 2.0) منتشر شده است («مجوز»). شما نمی‌توانید از این فایل جز در انطباق با این مجوز استفاده کنید. می‌توانید نسخه‌ای از مجوز را در فایل LICENSE در توزیع منبع یا در دریافت کنید. 3.6.4 2026-08-25 OPENSSL-PKEY(1ssl)