.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "OPENSSL-GENPKEY 1ssl" .TH OPENSSL-GENPKEY 1ssl 2026-08-25 3.6.4 OpenSSL .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" openssl\-genpkey \- تولید یک کلید خصوصی یا جفت‌کلید .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBgenpkey\fR [\fB\-help\fR] [\fB\-out\fR \fIfilename\fR] [\fB\-outpubkey\fR \fIfilename\fR] [\fB\-outform\fR \fBDER\fR|\fBPEM\fR] [\fB\-verbose\fR] [\fB\-quiet\fR] [\fB\-pass\fR \fIarg\fR] [\fB\-\fR\f(BIcipher\fR] [\fB\-paramfile\fR \fIfile\fR] [\fB\-algorithm\fR \fIalg\fR] [\fB\-pkeyopt\fR \fIopt\fR:\fIvalue\fR] [\fB\-genparam\fR] [\fB\-text\fR] [\fB\-rand\fR \fIfiles\fR] [\fB\-writerand\fR \fIfile\fR] [\fB\-engine\fR \fIid\fR] .PP [\fB\-provider\fR \fIname\fR] [\fB\-provider\-path\fR \fIpath\fR] [\fB\-provparam\fR \fI[name:]key=value\fR] [\fB\-propquery\fR \fIpropq\fR] [\fB\-config\fR \fIconfigfile\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این دستور یک کلید خصوصی یا جفت‌کلید تولید می‌کند. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" چاپ پیام راهنمای نحوه استفاده از دستور. .IP "\fB\-out\fR \fIfilename\fR" 4 .IX Item "-out filename" خروجی دادن کلید خصوصی به فایل مشخص‌شده. اگر این آرگومان مشخص نشود، از خروجی استاندارد استفاده می‌شود. .IP "\fB\-outpubkey\fR \fIfilename\fR" 4 .IX Item "-outpubkey filename" خروجی دادن کلید عمومی به فایل مشخص‌شده. اگر این آرگومان مشخص نشود، کلید عمومی در خروجی نوشته نمی‌شود. .IP "\fB\-outform\fR \fBDER\fR|\fBPEM\fR" 4 .IX Item "-outform DER|PEM" قالب خروجی، به جز زمانی که .B \-genparam داده شده باشد؛ مقدار پیش‌فرض .B PEM است. برای جزئیات بیشتر به \fBopenssl\-format\-options\fR\|(1) مراجعه کنید. .Sp هنگامی که .B \-genparam مشخص شده باشد، گزینه .B \-outform نادیده گرفته می‌شود. .IP \fB\-verbose\fR 4 .IX Item "-verbose" چاپ نقطه‌های وضعیت («status dots») در حین تولید کلیدها. .IP \fB\-quiet\fR 4 .IX Item "-quiet" عدم چاپ نقطه‌های وضعیت در حین تولید کلیدها. .IP "\fB\-pass\fR \fIarg\fR" 4 .IX Item "-pass arg" منبع عبارت عبور فایل خروجی. برای کسب اطلاعات بیشتر پیرامون قالب .I arg به \fBopenssl\-passphrase\-options\fR\|(1) مراجعه فرمایید. .IP \fB\-\fR\f(BIcipher\fR 4 .IX Item "-cipher" رمزگذاری کلید خصوصی با استفاده از الگوریتم مشخص‌شده. این الگوریتم می‌تواند با استفاده از نامی که توسط تابع \fBEVP_get_cipherbyname()\fR پذیرفته می‌شود، مشخص گردد. برای مثال، از ساختار .B \-aes\-128\-cbc برای تعیین الگوریتم رمزگذاری AES با کلید ۱۲۸ بیتی در حالت CBC استفاده کنید. .IP "\fB\-algorithm\fR \fIalg\fR" 4 .IX Item "-algorithm alg" الگوریتم کلید عمومی مورد استفاده مانند RSA، DSA، DH یا DHX. در صورت استفاده، این گزینه باید پیش از هر گزینه .B \-pkeyopt قرار گیرد. گزینه‌های .B \-paramfile و .B \-algorithm مانعة‌الجمع (ناسازگار با یکدیگر) هستند. موتورها (engines) یا ارائه‌دهندگان (providers) ممکن است الگوریتم‌هایی را علاوه بر الگوریتم‌های استاندارد توکار اضافه کنند. .Sp نام‌های معتبر الگوریتم‌های توکار برای تولید کلید خصوصی عبارتند از RSA، RSA\-PSS، EC، X25519، X448، ED25519، ED448، ML\-DSA و ML\-KEM. .Sp نام‌های معتبر الگوریتم‌های توکار برای تولید پارامتر (گزینه .B \-genparam را ببینید) عبارتند از DH، DSA و EC. .Sp توجه داشته باشید که نام الگوریتم X9.42 DH ممکن است به عنوان مترادفی برای کلیدهای DHX به کار رود و PKCS#3 به کلیدهای DH اشاره دارد. برخی گزینه‌ها بین کلیدهای DH و DHX مشترک نیستند. .IP "\fB\-pkeyopt\fR \fIopt\fR:\fIvalue\fR" 4 .IX Item "-pkeyopt opt:value" تنظیم گزینه الگوریتم کلید عمومی .I opt روی مقدار .IR value . مجموعه دقیق گزینه‌های پشتیبانی‌شده به الگوریتم کلید عمومی استفاده‌شده و پیاده‌سازی آن بستگی دارد. برای جزئیات بیشتر به بخش‌های "KEY GENERATION OPTIONS" و "PARAMETER GENERATION OPTIONS" در زیر مراجعه کنید. .Sp برای فهرست کردن مقادیر ممکن .I opt برای یک الگوریتم از این دستور استفاده کنید: .PP \&\fBopenssl\fR \fBgenpkey\fR \-algorithm XXX \-help .IP \fB\-genparam\fR 4 .IX Item "-genparam" تولید مجموعه‌ای از پارامترها به جای کلید خصوصی. در صورت استفاده، این گزینه باید پیش از هر کدام از گزینه‌های .BR \-algorithm ، .B \-paramfile یا .B \-pkeyopt قرار گیرد. .IP "\fB\-paramfile\fR \fIfilename\fR" 4 .IX Item "-paramfile filename" برخی از الگوریتم‌های کلید عمومی یک کلید خصوصی را بر پایه مجموعه‌ای از پارامترها تولید می‌کنند. این پارامترها را می‌توان با استفاده از این گزینه فراهم کرد. در صورت استفاده از این گزینه، الگوریتم کلید عمومی بر اساس پارامترها تعیین می‌شود. در صورت استفاده، این گزینه باید پیش از هر گزینه .B \-pkeyopt قرار گیرد. گزینه‌های .B \-paramfile و .B \-algorithm مانعة‌الجمع (ناسازگار با یکدیگر) هستند. .IP \fB\-text\fR 4 .IX Item "-text" چاپ نمایش متنی (رمزگذاری‌نشده) از کلیدهای خصوصی و عمومی و پارامترها به همراه ساختار PEM یا DER. .IP "\fB\-rand\fR \fIfiles\fR, \fB\-writerand\fR \fIfile\fR" 4 .IX Item "-rand files, -writerand file" بخش "Random State Options" را در \fBopenssl\fR\|(1) برای جزئیات بیشتر ببینید. .IP "\fB\-engine\fR \fIid\fR" 4 .IX Item "-engine id" بخش "Engine Options" را در \fBopenssl\fR\|(1) ببینید. این گزینه منسوخ شده است. .IP "\fB\-provider\fR \fIname\fR" 4 .IX Item "-provider name" .PD 0 .IP "\fB\-provider\-path\fR \fIpath\fR" 4 .IX Item "-provider-path path" .IP "\fB\-provparam\fR \fI[name:]key=value\fR" 4 .IX Item "-provparam [name:]key=value" .IP "\fB\-propquery\fR \fIpropq\fR" 4 .IX Item "-propquery propq" .PD بخش "Provider Options" را در \fBopenssl\fR\|(1)، \fBprovider\fR\|(7) و \fBproperty\fR\|(7) ببینید. .IP "\fB\-config\fR \fIconfigfile\fR" 4 .IX Item "-config configfile" بخش "Configuration Option" را در \fBopenssl\fR\|(1) ببینید. .SH "گزینه‌های تولید کلید (KEY GENERATION OPTIONS)" .IX Header "KEY GENERATION OPTIONS" گزینه‌های پشتیبانی‌شده توسط هر الگوریتم و در واقع هر پیاده‌سازی از یک الگوریتم می‌تواند متفاوت باشد. گزینه‌های مربوط به پیاده‌سازی‌های OpenSSL در ادامه به تفصیل آمده است. هیچ گزینه تولید کلیدی برای الگوریتم‌های X25519، X448، ED25519 یا ED448 تعریف نشده است. .SS "گزینه‌های تولید کلید RSA (RSA Key Generation Options)" .IX Subsection "RSA Key Generation Options" .IP \fBrsa_keygen_bits:numbits\fR 4 .IX Item "rsa_keygen_bits:numbits" تعداد بیت‌ها در کلید تولیدشده. اگر مشخص نشود، از 2048 استفاده می‌شود. .IP \fBrsa_keygen_primes:numprimes\fR 4 .IX Item "rsa_keygen_primes:numprimes" تعداد اعداد اول در کلید تولیدشده. اگر مشخص نشود، از 2 استفاده می‌شود. .IP \fBrsa_keygen_pubexp:value\fR 4 .IX Item "rsa_keygen_pubexp:value" مقدار توان عمومی RSA. این مقدار می‌تواند یک عدد ده‌دهی یا هگزادسیمال بزرگ باشد اگر پیش از آن \f(CW\*(C`0x\*(C'\fR آمده باشد. مقدار پیش‌فرض 65537 است. .SS "گزینه‌های تولید کلید RSA-PSS (RSA\-PSS Key Generation Options)" .IX Subsection "RSA-PSS Key Generation Options" نکته: به طور پیش‌فرض یک کلید \fBRSA\-PSS\fR هیچ محدودیتی در پارامترها ندارد. .IP "\fBrsa_keygen_bits\fR:\fInumbits\fR, \fBrsa_keygen_primes\fR:\fInumprimes\fR, \fBrsa_keygen_pubexp\fR:\fIvalue\fR" 4 .IX Item "rsa_keygen_bits:numbits, rsa_keygen_primes:numprimes, rsa_keygen_pubexp:value" این گزینه‌ها معنایی مشابه الگوریتم \fBRSA\fR دارند. .IP \fBrsa_pss_keygen_md\fR:\fIdigest\fR 4 .IX Item "rsa_pss_keygen_md:digest" در صورت تنظیم، کلید محدود شده و فقط می‌تواند از .I digest برای امضا استفاده کند. .IP \fBrsa_pss_keygen_mgf1_md\fR:\fIdigest\fR 4 .IX Item "rsa_pss_keygen_mgf1_md:digest" در صورت تنظیم، کلید محدود شده و فقط می‌تواند از .I digest به عنوان پارامتر MGF1 خود استفاده کند. .IP \fBrsa_pss_keygen_saltlen\fR:\fIlen\fR 4 .IX Item "rsa_pss_keygen_saltlen:len" در صورت تنظیم، کلید محدود شده و .I len حداقل طول نمک (salt) را مشخص می‌کند. .SS "گزینه‌های تولید کلید EC (EC Key Generation Options)" .IX Subsection "EC Key Generation Options" گزینه‌های تولید کلید EC را می‌توان برای تولید پارامتر نیز به کار برد. .IP \fBec_paramgen_curve\fR:\fIcurve\fR 4 .IX Item "ec_paramgen_curve:curve" منحنی EC مورد استفاده. نرم‌افزار OpenSSL از نام‌های منحنی NIST مانند "P\-256" پشتیبانی می‌کند. .IP \fBec_param_enc\fR:\fIencoding\fR 4 .IX Item "ec_param_enc:encoding" کدگذاری مورد استفاده برای پارامترها. پارامتر .I encoding باید \fBnamed_curve\fR یا \fBexplicit\fR باشد. مقدار پیش‌فرض \fBnamed_curve\fR است. .SS "گزینه‌های تولید کلید ML-DSA (ML\-DSA Key Generation Options)" .IX Subsection "ML-DSA Key Generation Options" .IP \fBhexseed\fR:\fIseed\fR 4 .IX Item "hexseed:seed" این گزینه بذر (seed) اختیاری ML\-DSA را در قالب هگزادسیمال مشخص می‌کند. این بذر ۳۲ بایت است که ۶۴ رقم هگزادسیمال ارائه می‌دهد. هنگامی که کلید از یک بذر صریح تولید می‌شود، کلید کاملاً با مقدار بذر تعیین می‌گردد. اگر سایر کاربران بتوانند آرگومان‌های خط فرمان فرآیند در حال اجرا را مشاهده کنند، این گزینه ممکن است امنیت کلید محرمانه را به خطر بیندازد، بنابراین به غیر از آزمایش‌ها، بهتر است از آن پرهیز شود. .Sp برای جزئیات بیشتر \fBEVP_PKEY\-ML\-DSA\fR\|(7) را ببینید. .SS "گزینه‌های تولید کلید ML-KEM (ML\-KEM Key Generation Options)" .IX Subsection "ML-KEM Key Generation Options" .IP \fBhexseed\fR:\fIseed\fR 4 .IX Item "hexseed:seed" این گزینه بذر (seed) اختیاری ML\-KEM را در قالب هگزادسیمال مشخص می‌کند. این بذر ۶۴ بایت است که ۱۲۸ رقم هگزادسیمال ارائه می‌دهد. هنگامی که کلید از یک بذر صریح تولید می‌شود، کلید کاملاً با مقدار بذر تعیین می‌گردد. اگر سایر کاربران بتوانند آرگومان‌های خط فرمان فرآیند در حال اجرا را مشاهده کنند، این گزینه ممکن است امنیت کلید محرمانه را به خطر بیندازد، بنابراین به غیر از آزمایش‌ها، بهتر است از آن پرهیز شود. .Sp برای جزئیات بیشتر \fBEVP_PKEY\-ML\-KEM\fR\|(7) را ببینید. .SS "گزینه‌های تولید کلید DH (DH Key Generation Options)" .IX Subsection "DH Key Generation Options" .IP \fBgroup\fR:\fIname\fR 4 .IX Item "group:name" اگر در اینجا از یک گروه نام‌گذاری‌شده استفاده شود، گزینه \fBparamfile\fR لازم نیست. بخش "DH Parameter Generation Options" را در زیر ببینید. .SH "گزینه‌های تولید پارامتر (PARAMETER GENERATION OPTIONS)" .IX Header "PARAMETER GENERATION OPTIONS" گزینه‌های پشتیبانی‌شده توسط هر الگوریتم و در واقع هر پیاده‌سازی از یک الگوریتم می‌تواند متفاوت باشد. گزینه‌های مربوط به پیاده‌سازی‌های OpenSSL در ادامه به تفصیل آمده است. .SS "گزینه‌های تولید پارامتر DSA (DSA Parameter Generation Options)" .IX Subsection "DSA Parameter Generation Options" .IP \fBdsa_paramgen_bits\fR:\fInumbits\fR 4 .IX Item "dsa_paramgen_bits:numbits" تعداد بیت‌ها در عدد اول تولیدشده. اگر مشخص نشود، از 2048 استفاده می‌شود. .IP \fBdsa_paramgen_q_bits\fR:\fInumbits\fR 4 .IX Item "dsa_paramgen_q_bits:numbits" .PD 0 .IP \fBqbits\fR:\fInumbits\fR 4 .IX Item "qbits:numbits" .PD تعداد بیت‌ها در پارامتر q. باید یکی از ۱۶۰، ۲۲۴ یا ۲۵۶ باشد. اگر مشخص نشود، از 224 استفاده می‌شود. .IP \fBdsa_paramgen_md\fR:\fIdigest\fR 4 .IX Item "dsa_paramgen_md:digest" .PD 0 .IP \fBdigest\fR:\fIdigest\fR 4 .IX Item "digest:digest" .PD خلاصه پیام مورد استفاده در حین تولید پارامتر. باید یکی از .BR sha1 ، .B sha224 یا .B sha256 باشد. در صورت تنظیم، تعداد بیت‌ها در .B q با اندازه خروجی خلاصه مشخص‌شده مطابقت خواهد داشت و پارامتر .B dsa_paramgen_q_bits نادیده گرفته خواهد شد. اگر تنظیم نشود، خلاصه‌ای به کار می‌رود که خروجی آن با تعداد بیت‌های .B q مطابقت داشته باشد، یعنی .B sha1 اگر طول q برابر ۱۶۰ باشد، .B sha224 اگر ۲۲۴ باشد یا .B sha256 اگر ۲۵۶ باشد. .IP \fBproperties\fR:\fIquery\fR 4 .IX Item "properties:query" رشته پرس‌وجوی ویژگی (property query) برای .I digest که هنگام دریافت خلاصه از یک ارائه‌دهنده به کار می‌رود. .IP \fBtype\fR:\fItype\fR 4 .IX Item "type:type" نوع تولید مورد استفاده. این مقدار را روی 1 تنظیم کنید تا از تولید پارامتر قدیمی FIPS186\-2 استفاده شود. مقدار پیش‌فرض 0 از تولید پارامتر FIPS186\-4 استفاده می‌کند. .IP \fBgindex\fR:\fIindex\fR 4 .IX Item "gindex:index" شاخص مورد استفاده برای تولید و اعتبارسنجی متعارف مولد g. برای استفاده از این حالت، این مقدار را روی عددی مثبت بین 0 تا 255 تنظیم کنید. مقادیر بزرگ‌تر فقط از بایت پایینی استفاده خواهند کرد. این .I index سپس باید در طول اعتبارسنجی کلید برای تأیید مقدار g مجدداً به کار رود. اگر این مقدار تنظیم نشود، g قابل تأیید نیست. مقدار پیش‌فرض \-1 است. .IP \fBhexseed\fR:\fIseed\fR 4 .IX Item "hexseed:seed" داده بذر .I seed که به جای تولید یک بذر تصادفی درونی استفاده می‌شود. این گزینه فقط باید برای اهداف آزمایشی به کار رود. این گزینه یا مقادیر ثابتی برای پارامترهای تولیدشده ایجاد می‌کند یا اگر بذر اعداد اول معتبری ایجاد نکند، با خطا مواجه خواهد شد. .SS "گزینه‌های تولید پارامتر DH (DH Parameter Generation Options)" .IX Subsection "DH Parameter Generation Options" برای بیشتر موارد کاربرد، توصیه می‌شود به جای گزینه‌های .B type از گزینه .B group استفاده شود. توجه داشته باشید که اگر هیچ گزینه تولید پارامتری مشخص نشده باشد، گزینه .B group به صورت پیش‌فرض استفاده نمی‌شود. .IP \fBgroup\fR:\fIname\fR 4 .IX Item "group:name" .PD 0 .IP \fBdh_param\fR:\fIname\fR 4 .IX Item "dh_param:name" .PD استفاده از یک گروه نام‌گذاری‌شده DH برای انتخاب مقادیر ثابت برای پارامترهای DH. اگر این مقدار تنظیم شود، تمام گزینه‌های دیگر نادیده گرفته خواهند شد. .Sp مقادیر معتبری که به .B algorithm با مقدار \fB"DH"\fR مرتبط هستند عبارتند از: "ffdhe2048"، "ffdhe3072"، "ffdhe4096"، "ffdhe6144"، "ffdhe8192"، "modp_1536"، "modp_2048"، "modp_3072"، "modp_4096"، "modp_6144"، "modp_8192". .Sp مقادیر معتبری که به .B algorithm با مقدار \fB"DHX"\fR مرتبط هستند، نام‌های RFC5114 شامل موارد زیر می‌باشند: "dh_1024_160"، "dh_2048_224"، "dh_2048_256". .IP \fBdh_rfc5114\fR:\fInum\fR 4 .IX Item "dh_rfc5114:num" اگر این گزینه تنظیم شود، به جای تولید پارامترهای جدید، از پارامترهای مناسب RFC5114 استفاده می‌شود. مقدار .I num می‌تواند یکی از 1، 2 یا 3 باشد که معادل استفاده از گزینه .B group با یکی از مقادیر "dh_1024_160"، "dh_2048_224" یا "dh_2048_256" است. اگر این مقدار تنظیم شود، تمام گزینه‌های دیگر نادیده گرفته خواهند شد. .IP \fBpbits\fR:\fInumbits\fR 4 .IX Item "pbits:numbits" .PD 0 .IP \fBdh_paramgen_prime_len\fR:\fInumbits\fR 4 .IX Item "dh_paramgen_prime_len:numbits" .PD تعداد بیت‌ها در پارامتر عدد اول .IR p . مقدار پیش‌فرض 2048 است. .IP \fBqbits\fR:\fInumbits\fR 4 .IX Item "qbits:numbits" .PD 0 .IP \fBdh_paramgen_subprime_len\fR:\fInumbits\fR 4 .IX Item "dh_paramgen_subprime_len:numbits" .PD تعداد بیت‌ها در پارامتر زیرگروه اول .IR q . مقدار پیش‌فرض 224 است. تنها در صورتی کاربرد دارد که همراه با گزینه .B dh_paramgen_type برای تولید پارامترهای DHX استفاده شود. .IP \fBsafeprime\-generator\fR:\fIvalue\fR 4 .IX Item "safeprime-generator:value" .PD 0 .IP \fBdh_paramgen_generator\fR:\fIvalue\fR 4 .IX Item "dh_paramgen_generator:value" .PD مقدار مورد استفاده برای مولد .IR g . مقدار پیش‌فرض 2 است. گزینه .B algorithm باید برای استفاده از این پارامتر برابر \fB"DH"\fR باشد. .IP \fBtype\fR:\fIstring\fR 4 .IX Item "type:string" نام نوع پارامترهای DH جهت تولید. مقادیر معتبر عبارتند از: .RS 4 .IP """generator""" 4 .IX Item """generator""" استفاده از یک مولد عدد اول امن با گزینه \fBsafeprime_generator\fR. گزینه .B algorithm باید \fB"DH"\fR باشد. .IP """fips186_4""" 4 .IX Item """fips186_4""" تولید پارامتر FIPS186\-4. گزینه .B algorithm باید \fB"DHX"\fR باشد. .IP """fips186_2""" 4 .IX Item """fips186_2""" تولید پارامتر FIPS186\-2. گزینه .B algorithm باید \fB"DHX"\fR باشد. .IP """group""" 4 .IX Item """group""" می‌تواند همراه با گزینه .B pbits برای انتخاب یکی از گروه‌های "ffdhe2048"، "ffdhe3072"، "ffdhe4096"، "ffdhe6144" یا "ffdhe8192" استفاده شود. گزینه .B algorithm باید \fB"DH"\fR باشد. .IP """default""" 4 .IX Item """default""" یک نوع پیش‌فرض را بر پایه .B algorithm انتخاب می‌کند. این مقدار توسط ارائه‌دهنده پیش‌فرض OpenSSL جهت سازگاری رو به عقب برای تعیین نوع به کار می‌رود. اگر .B algorithm برابر \fB"DH"\fR باشد، \fB"generator"\fR استفاده می‌شود. اگر .B algorithm برابر \fB"DHX"\fR باشد، \fB"fips186_2"\fR استفاده می‌شود. .RE .IP \fBdh_paramgen_type\fR:\fIvalue\fR 4 .IX Item "dh_paramgen_type:value" نوع پارامترهای DH برای تولید. مقادیر معتبر 0، 1، 2 یا 3 هستند که به ترتیب با تنظیم گزینه .B type روی "generator"، "fips186_2"، "fips186_4" یا "group" مطابقت دارند. .IP \fBdigest\fR:\fIdigest\fR 4 .IX Item "digest:digest" خلاصه پیام مورد استفاده در حین تولید پارامتر. باید یکی از .BR sha1 ، .B sha224 یا .B sha256 باشد. در صورت تنظیم، تعداد بیت‌ها در .B qbits با اندازه خروجی خلاصه مشخص‌شده مطابقت خواهد داشت و پارامتر .B qbits نادیده گرفته خواهد شد. اگر تنظیم نشود، خلاصه‌ای استفاده خواهد شد که خروجی آن با تعداد بیت‌های .B q مطابقت داشته باشد، یعنی .B sha1 اگر طول q برابر ۱۶۰ باشد، .B sha224 اگر ۲۲۴ باشد یا .B sha256 اگر ۲۵۶ باشد. این گزینه فقط در تولید کلید "fips186_4" و "fips186_2" استفاده می‌شود. .IP \fBproperties\fR:\fIquery\fR 4 .IX Item "properties:query" رشته پرس‌وجوی ویژگی برای .I digest که هنگام دریافت خلاصه از یک ارائه‌دهنده استفاده می‌شود. این گزینه فقط در تولید کلید "fips186_4" و "fips186_2" استفاده می‌شود. .IP \fBgindex\fR:\fIindex\fR 4 .IX Item "gindex:index" شاخص مورد استفاده برای تولید و اعتبارسنجی متعارف مولد g. برای استفاده از این حالت، این مقدار را روی عددی مثبت بین 0 تا 255 تنظیم کنید. مقادیر بزرگ‌تر فقط از بایت پایینی استفاده خواهند کرد. این .I index سپس باید در طول اعتبارسنجی کلید برای تأیید مقدار g مجدداً به کار رود. اگر این مقدار تنظیم نشود، g قابل تأیید نیست. مقدار پیش‌فرض \-1 است. این گزینه فقط در تولید کلید "fips186_4" و "fips186_2" استفاده می‌شود. .IP \fBhexseed\fR:\fIseed\fR 4 .IX Item "hexseed:seed" داده بذر .I seed که به جای تولید یک بذر تصادفی درونی استفاده می‌شود. این گزینه فقط باید برای اهداف آزمایشی استفاده شود. این گزینه یا مقادیر ثابتی برای پارامترهای تولیدشده ایجاد می‌کند یا اگر بذر اعداد اول معتبری ایجاد نکند، با خطا مواجه خواهد شد. این گزینه فقط در تولید کلید "fips186_4" و "fips186_2" استفاده می‌شود. .SS "گزینه‌های تولید پارامتر EC (EC Parameter Generation Options)" .IX Subsection "EC Parameter Generation Options" گزینه‌های تولید پارامتر EC همانند گزینه‌های تولید کلید هستند. بخش "EC Key Generation Options" را در بالا ببینید. .SH "نکات (NOTES)" .IX Header "NOTES" استفاده از برنامه genpkey بر ابزارهای ویژه هر الگوریتم ارجحیت دارد، زیرا می‌توان از گزینه‌های اضافی الگوریتم و الگوریتم‌های ارائه‌شده توسط ENGINE استفاده نمود. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" تولید یک کلید خصوصی RSA با استفاده از پارامترهای پیش‌فرض: .PP .Vb 1 \& openssl genpkey \-algorithm RSA \-out key.pem .Ve .PP رمزگذاری کلید خصوصی خروجی با استفاده از الگوریتم AES با طول ۱۲۸ بیت و عبارت عبور "hello": .PP .Vb 1 \& openssl genpkey \-algorithm RSA \-out key.pem \-aes\-128\-cbc \-pass pass:hello .Ve .PP تولید یک کلید RSA به طول ۲۰۴۸ بیت با استفاده از ۳ به عنوان توان عمومی: .PP .Vb 2 \& openssl genpkey \-algorithm RSA \-out key.pem \e \& \-pkeyopt rsa_keygen_bits:2048 \-pkeyopt rsa_keygen_pubexp:3 .Ve .PP تولید پارامترهای ۲۰۴۸ بیتی DSA که قابل اعتبارسنجی باشند: (مقادیر خروجی gindex و seed برای اعتبارسنجی کلید لازم بوده و در فایل pem خروجی ذخیره نمی‌شوند). .PP .Vb 2 \& openssl genpkey \-genparam \-algorithm DSA \-out dsap.pem \-pkeyopt pbits:2048 \e \& \-pkeyopt qbits:224 \-pkeyopt digest:SHA256 \-pkeyopt gindex:1 \-text .Ve .PP تولید کلید DSA از روی پارامترها: .PP .Vb 1 \& openssl genpkey \-paramfile dsap.pem \-out dsakey.pem .Ve .PP تولید کلید DH به طول ۴۰۹۶ بیت با استفاده از گروه اعداد اول امن ffdhe4096: .PP .Vb 1 \& openssl genpkey \-algorithm DH \-out dhkey.pem \-pkeyopt group:ffdhe4096 .Ve .PP تولید کلید ۲۰۴۸ بیتی X9.42 DH با زیرگروه ۲۵۶ بیتی با استفاده از RFC5114 group3: .PP .Vb 1 \& openssl genpkey \-algorithm DHX \-out dhkey.pem \-pkeyopt dh_rfc5114:3 .Ve .PP تولید یک کلید DH با استفاده از یک فایل پارامترهای DH: .PP .Vb 1 \& openssl genpkey \-paramfile dhp.pem \-out dhkey.pem .Ve .PP خروجی پارامترهای DH برای گروه اعداد اول امن ffdhe2048: .PP .Vb 1 \& openssl genpkey \-genparam \-algorithm DH \-out dhp.pem \-pkeyopt group:ffdhe2048 .Ve .PP خروجی پارامترهای ۲۰۴۸ بیتی X9.42 DH با زیرگروه ۲۲۴ بیتی با استفاده از RFC5114 group2: .PP .Vb 1 \& openssl genpkey \-genparam \-algorithm DHX \-out dhp.pem \-pkeyopt dh_rfc5114:2 .Ve .PP خروجی پارامترهای ۲۰۴۸ بیتی X9.42 DH با زیرگروه ۲۲۴ بیتی با استفاده از تولید کلید FIP186\-4: .PP .Vb 3 \& openssl genpkey \-genparam \-algorithm DHX \-out dhp.pem \-text \e \& \-pkeyopt pbits:2048 \-pkeyopt qbits:224 \-pkeyopt digest:SHA256 \e \& \-pkeyopt gindex:1 \-pkeyopt dh_paramgen_type:2 .Ve .PP خروجی پارامترهای ۱۰۲۴ بیتی X9.42 DH با زیرگروه ۱۶۰ بیتی با استفاده از تولید کلید FIP186\-2: .PP .Vb 3 \& openssl genpkey \-genparam \-algorithm DHX \-out dhp.pem \-text \e \& \-pkeyopt pbits:1024 \-pkeyopt qbits:160 \-pkeyopt digest:SHA1 \e \& \-pkeyopt gindex:1 \-pkeyopt dh_paramgen_type:1 .Ve .PP خروجی پارامترهای ۲۰۴۸ بیتی DH: .PP .Vb 2 \& openssl genpkey \-genparam \-algorithm DH \-out dhp.pem \e \& \-pkeyopt dh_paramgen_prime_len:2048 .Ve .PP خروجی پارامترهای ۲۰۴۸ بیتی DH با استفاده از یک مولد: .PP .Vb 3 \& openssl genpkey \-genparam \-algorithm DH \-out dhpx.pem \e \& \-pkeyopt dh_paramgen_prime_len:2048 \e \& \-pkeyopt dh_paramgen_type:1 .Ve .PP تولید پارامترهای EC: .PP .Vb 3 \& openssl genpkey \-genparam \-algorithm EC \-out ecp.pem \e \& \-pkeyopt ec_paramgen_curve:secp384r1 \e \& \-pkeyopt ec_param_enc:named_curve .Ve .PP تولید کلید EC از روی پارامترها: .PP .Vb 1 \& openssl genpkey \-paramfile ecp.pem \-out eckey.pem .Ve .PP تولید مستقیم کلید EC: .PP .Vb 3 \& openssl genpkey \-algorithm EC \-out eckey.pem \e \& \-pkeyopt ec_paramgen_curve:P\-384 \e \& \-pkeyopt ec_param_enc:named_curve .Ve .PP تولید یک کلید خصوصی X25519: .PP .Vb 1 \& openssl genpkey \-algorithm X25519 \-out xkey.pem .Ve .PP تولید یک کلید خصوصی ED448: .PP .Vb 1 \& openssl genpkey \-algorithm ED448 \-out xkey.pem .Ve .PP تولید یک کلید خصوصی ML\-DSA\-65: .PP .Vb 1 \& openssl genpkey \-algorithm ML\-DSA\-65 \-out ml\-dsa\-key.pem .Ve .PP تولید یک کلید خصوصی ML\-KEM\-768: .PP .Vb 1 \& openssl genpkey \-algorithm ML\-KEM\-768 \-out ml\-kem\-key.pem .Ve .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\fR\|(1), \&\fBopenssl\-pkey\fR\|(1), \&\fBopenssl\-rsa\fR\|(1), \&\fBopenssl\-dsa\fR\|(1), \&\fBopenssl\-genrsa\fR\|(1), \&\fBopenssl\-gendsa\fR\|(1) .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" امکان استفاده از نام‌های منحنی NIST و تولید مستقیم یک کلید EC در OpenSSL 1.0.2 اضافه شدند. امکان تولید کلیدهای X25519 در OpenSSL 1.1.0 اضافه شد. امکان تولید کلیدهای X448، ED25519 و ED448 در OpenSSL 1.1.1 افزوده شد. .PP گزینه .B \-engine در OpenSSL 3.0 منسوخ گردید. .PP پشتیبانی از \fBML\-DSA\fR و \fBML\-KEM\fR در OpenSSL 3.5 اضافه شد. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright 2006\-2025 The OpenSSL Project Authors. All Rights Reserved. .PP تحت مجوز آپاچی نسخه ۲.۰ (Apache License 2.0) منتشر شده است («مجوز»). شما نمی‌توانید از این فایل جز در انطباق با این مجوز استفاده کنید. می‌توانید یک نسخه از مجوز را در پرونده LICENSE در توزیع منبع یا در به دست آورید.