.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (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 .\" ======================================================================== .\" .IX Title "OPENSSL-CMP 1SSL" .TH OPENSSL-CMP 1SSL 2026-06-09 3.5.7 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\-cmp \- کلاینت پروتکل مدیریت گواهی (CMP) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBcmp\fR [\fB\-help\fR] [\fB\-config\fR \fIfilename\fR] [\fB\-section\fR \fInames\fR] [\fB\-verbosity\fR \fIlevel\fR] .PP گزینه‌های عمومی پیام: .PP [\fB\-cmd\fR \fIir|cr|kur|p10cr|rr|genm\fR] [\fB\-infotype\fR \fIname\fR] [\fB\-profile\fR \fIname\fR] [\fB\-geninfo\fR \fIvalues\fR] [\fB\-template\fR \fIfilename\fR] [\fB\-keyspec\fR \fIfilename\fR] .PP گزینه‌های ثبت‌نام گواهی: .PP [\fB\-newkey\fR \fIfilename\fR|\fIuri\fR] [\fB\-newkeypass\fR \fIarg\fR] [\fB\-centralkeygen\fR [\fB\-newkeyout\fR \fIfilename\fR] [\fB\-subject\fR \fIname\fR] [\fB\-days\fR \fInumber\fR] [\fB\-reqexts\fR \fIname\fR] [\fB\-sans\fR \fIspec\fR] [\fB\-san_nodefault\fR] [\fB\-policies\fR \fIname\fR] [\fB\-policy_oids\fR \fInames\fR] [\fB\-policy_oids_critical\fR] [\fB\-popo\fR \fInumber\fR] [\fB\-csr\fR \fIfilename\fR] [\fB\-out_trusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-implicit_confirm\fR] [\fB\-disable_confirm\fR] [\fB\-certout\fR \fIfilename\fR] [\fB\-chainout\fR \fIfilename\fR] .PP گزینه‌های ثبت‌نام و ابطال گواهی: .PP [\fB\-oldcert\fR \fIfilename\fR|\fIuri\fR] [\fB\-issuer\fR \fIname\fR] [\fB\-serial\fR \fInumber\fR] [\fB\-revreason\fR \fInumber\fR] .PP گزینه‌های انتقال پیام: .PP [\fB\-server\fR \fI[http[s]://][userinfo@]host[:port][/path][?query][#fragment]\fR] [\fB\-proxy\fR \fI[http[s]://][userinfo@]host[:port][/path][?query][#fragment]\fR] [\fB\-no_proxy\fR \fIaddresses\fR] [\fB\-recipient\fR \fIname\fR] [\fB\-path\fR \fIremote_path\fR] [\fB\-keep_alive\fR \fIvalue\fR] [\fB\-msg_timeout\fR \fIseconds\fR] [\fB\-total_timeout\fR \fIseconds\fR] .PP گزینه‌های احراز هویت سرور: .PP [\fB\-trusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-untrusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-srvcert\fR \fIfilename\fR|\fIuri\fR] [\fB\-expect_sender\fR \fIname\fR] [\fB\-ignore_keyusage\fR] [\fB\-unprotected_errors\fR] [\fB\-no_cache_extracerts\fR] [\fB\-srvcertout\fR \fIfilename\fR] [\fB\-extracertsout\fR \fIfilename\fR] [\fB\-cacertsout\fR \fIfilename\fR] [\fB\-oldwithold\fR \fIfilename\fR] [\fB\-newwithnew\fR \fIfilename\fR] [\fB\-newwithold\fR \fIfilename\fR] [\fB\-oldwithnew\fR \fIfilename\fR] [\fB\-crlcert\fR \fIfilename\fR] [\fB\-oldcrl\fR \fIfilename\fR] [\fB\-crlout\fR \fIfilename\fR] .PP گزینه‌های احراز هویت و حفاظت کلاینت: .PP [\fB\-ref\fR \fIvalue\fR] [\fB\-secret\fR \fIarg\fR] [\fB\-cert\fR \fIfilename\fR|\fIuri\fR] [\fB\-own_trusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-key\fR \fIfilename\fR|\fIuri\fR] [\fB\-keypass\fR \fIarg\fR] [\fB\-digest\fR \fIname\fR] [\fB\-mac\fR \fIname\fR] [\fB\-extracerts\fR \fIfilenames\fR|\fIuris\fR] [\fB\-unprotected_requests\fR] .PP گزینه‌های قالب اطلاعات هویتی: .PP [\fB\-certform\fR \fIPEM|DER\fR] [\fB\-crlform\fR \fIPEM|DER\fR] [\fB\-keyform\fR \fIPEM|DER|P12|ENGINE\fR] [\fB\-otherpass\fR \fIarg\fR] [\fB\-engine\fR \fIid\fR] [\fB\-provider\fR \fIname\fR] [\fB\-provider\-path\fR \fIpath\fR] [\fB\-provparam\fR \fI[name:]key=value\fR] [\fB\-propquery\fR \fIpropq\fR] .PP گزینه‌های وضعیت تصادفی: .PP [\fB\-rand\fR \fIfiles\fR] [\fB\-writerand\fR \fIfile\fR] .PP گزینه‌های اتصال TLS: .PP [\fB\-tls_used\fR] [\fB\-tls_cert\fR \fIfilename\fR|\fIuri\fR] [\fB\-tls_key\fR \fIfilename\fR|\fIuri\fR] [\fB\-tls_keypass\fR \fIarg\fR] [\fB\-tls_extra\fR \fIfilenames\fR|\fIuris\fR] [\fB\-tls_trusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-tls_host\fR \fIname\fR] .PP گزینه‌های اشکال‌زدایی سمت کلاینت: .PP [\fB\-batch\fR] [\fB\-repeat\fR \fInumber\fR] [\fB\-reqin\fR \fIfilenames\fR] [\fB\-reqin_new_tid\fR] [\fB\-reqout\fR \fIfilenames\fR] [\fB\-reqout_only\fR \fIfilename\fR] [\fB\-rspin\fR \fIfilenames\fR] [\fB\-rspout\fR \fIfilenames\fR] [\fB\-use_mock_srv\fR] .PP گزینه‌های سرور ماک (آزمایشی): .PP [\fB\-port\fR \fInumber\fR] [\fB\-max_msgs\fR \fInumber\fR] [\fB\-srv_ref\fR \fIvalue\fR] [\fB\-srv_secret\fR \fIarg\fR] [\fB\-srv_cert\fR \fIfilename\fR|\fIuri\fR] [\fB\-srv_key\fR \fIfilename\fR|\fIuri\fR] [\fB\-srv_keypass\fR \fIarg\fR] [\fB\-srv_trusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-srv_untrusted\fR \fIfilenames\fR|\fIuris\fR] [\fB\-ref_cert\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_cert\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_key\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_keypass\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_crl\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_extracerts\fR \fIfilenames\fR|\fIuris\fR] [\fB\-rsp_capubs\fR \fIfilenames\fR|\fIuris\fR] [\fB\-rsp_newwithnew\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_newwithold\fR \fIfilename\fR|\fIuri\fR] [\fB\-rsp_oldwithnew\fR \fIfilename\fR|\fIuri\fR] [\fB\-poll_count\fR \fInumber\fR] [\fB\-check_after\fR \fInumber\fR] [\fB\-grant_implicitconf\fR] [\fB\-pkistatus\fR \fInumber\fR] [\fB\-failure\fR \fInumber\fR] [\fB\-failurebits\fR \fInumber\fR] [\fB\-statusstring\fR \fIarg\fR] [\fB\-send_error\fR] [\fB\-send_unprotected\fR] [\fB\-send_unprot_err\fR] [\fB\-accept_unprotected\fR] [\fB\-accept_unprot_err\fR] [\fB\-accept_raverified\fR] .PP گزینه‌های اعتبارسنجی گواهی، هم برای CMP و هم برای TLS: .PP [\fB\-allow_proxy_certs\fR] [\fB\-attime\fR \fItimestamp\fR] [\fB\-no_check_time\fR] [\fB\-check_ss_sig\fR] [\fB\-crl_check\fR] [\fB\-crl_check_all\fR] [\fB\-explicit_policy\fR] [\fB\-extended_crl\fR] [\fB\-ignore_critical\fR] [\fB\-inhibit_any\fR] [\fB\-inhibit_map\fR] [\fB\-partial_chain\fR] [\fB\-policy\fR \fIarg\fR] [\fB\-policy_check\fR] [\fB\-policy_print\fR] [\fB\-purpose\fR \fIpurpose\fR] [\fB\-suiteB_128\fR] [\fB\-suiteB_128_only\fR] [\fB\-suiteB_192\fR] [\fB\-trusted_first\fR] [\fB\-no_alt_chains\fR] [\fB\-use_deltas\fR] [\fB\-auth_level\fR \fInum\fR] [\fB\-verify_depth\fR \fInum\fR] [\fB\-verify_email\fR \fIemail\fR] [\fB\-verify_hostname\fR \fIhostname\fR] [\fB\-verify_ip\fR \fIip\fR] [\fB\-verify_name\fR \fIname\fR] [\fB\-x509_strict\fR] [\fB\-issuer_checks\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور .B cmp یک پیاده‌سازی کلاینت برای پروتکل مدیریت گواهی (CMP) طبق تعاریف RFC 9810 و انتقال HTTP(S) آن طبق تعریف RFC 9811 است. از این دستور می‌توان برای درخواست گواهی از یک سرور CA، به‌روزرسانی گواهی‌ها، درخواست ابطال گواهی‌ها و اجرای سایر انواع درخواست‌های CMP استفاده کرد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" نمایش خلاصه‌ای از تمامی گزینه‌ها. .IP "\fB\-config\fR \fIfilename\fR" 4 .IX Item "-config filename" فایل پیکربندی مورد استفاده. رشته خالی \f(CW""\fR به معنای هیچ است. نام فایل پیش‌فرض از متغیر محیطی \f(CW\*(C`OPENSSL_CONF\*(C'\fR گرفته می‌شود. .IP "\fB\-section\fR \fInames\fR" 4 .IX Item "-section names" بخش یا بخش‌هایی از فایل پیکربندی که گزینه‌های CMP را تعریف می‌کنند. رشته خالی \f(CW""\fR به معنای عدم انتخاب بخش خاصی است. پیش‌فرض \f(CW\*(C`cmp\*(C'\fR است. .Sp می‌توان نام چند بخش را با کاما و/یا فاصله از یکدیگر جدا کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). محتوای بخش‌هایی که دیرتر ذکر شوند ممکن است محتوای بخش‌های پیشین را بازنویسی کند. در هر حال، طبق معمول بخش \f(CW\*(C`[default]\*(C'\fR و در نهایت بخش بدون نام (در صورت وجود) می‌توانند مقادیر جایگزین (fallback) را برای هر گزینه فراهم سازند. .IP "\fB\-verbosity\fR \fIlevel\fR" 4 .IX Item "-verbosity level" سطح جزئیات (verbosity) برای لاگ‌گیری، خروجی خطا و غیره. 0 = EMERG، 1 = ALERT، 2 = CRIT، 3 = ERR، 4 = WARN، 5 = NOTE، 6 = INFO، 7 = DEBUG، 8 = TRACE. پیش‌فرض 6 = INFO است. .SS "گزینه‌های عمومی پیام (Generic message options)" .IX Subsection "Generic message options" .IP "\fB\-cmd\fR \fIir|cr|kur|p10cr|rr|genm\fR" 4 .IX Item "-cmd ir|cr|kur|p10cr|rr|genm" دستور CMP برای اجرا. دستوراتی که در حال حاضر پیاده‌سازی شده‌اند عبارتند از: .RS 4 .IP "ir \ \- درخواست مقداردهی اولیه (Initialization Request)" 8 .IX Item "ir \ - Initialization Request" .PD 0 .IP "cr \ \- درخواست گواهی (Certificate Request)" 8 .IX Item "cr \ - Certificate Request" .IP "p10cr \- درخواست صدور گواهی PKCS#10 (برای سازگاری با سیستم‌های قدیمی)" 8 .IX Item "p10cr - PKCS#10 Certification Request (for legacy support)" .IP "kur \ \ \- درخواست به‌روزرسانی کلید (Key Update Request)" 8 .IX Item "kur \ \ - Key Update Request" .IP "rr \ \- درخواست ابطال (Revocation Request)" 8 .IX Item "rr \ - Revocation Request" .IP "genm \- پیام عمومی (General Message)" 8 .IX Item "genm - General Message" .RE .RS 4 .PD .Sp \&\fBir\fR با صدور نخستین گواهی، درخواست مقداردهی اولیه یک موجودیت نهایی (end entity) را در ساختار سلسله‌مراتبی PKI ثبت می‌کند. .Sp \&\fBcr\fR درخواست صدور یک گواهی اضافی برای یک موجودیت نهایی که از قبل در سلسله‌مراتب PKI مقداردهی اولیه شده است را ثبت می‌کند. .Sp \&\fBp10cr\fR مشابه با \fBcr\fR درخواست صدور یک گواهی اضافی را ارسال می‌کند اما از قالب قدیمی PKCS#10 CSR استفاده می‌نماید. .Sp \&\fBkur\fR درخواست یک به‌روزرسانی (کلید) را برای یک گواهی موجود ثبت می‌کند. .Sp \&\fBrr\fR درخواست ابطال یک گواهی موجود را ثبت می‌کند. .Sp \&\fBgenm\fR با استفاده از یک پیام عمومی درخواست اطلاعات می‌کند، که در آن می‌توان از \fBInfoTypeAndValue\fRهای اختیاری برای تعیین اطلاعات مورد نظر استفاده کرد. پس از دریافت پاسخ عمومی (General Response)، اطلاعات مربوط به تمامی \fBinfoType\fRهای ITAV دریافت‌شده در خروجی استاندارد چاپ می‌شود. .RE .IP "\fB\-infotype\fR \fIname\fR" 4 .IX Item "-infotype name" تنظیم نام InfoType برای درخواست اطلاعات خاص در \fBgenm\fR، برای نمونه \f(CW\*(C`signKeyPairTypes\*(C'\fR. پشتیبانی خاصی برای \f(CW\*(C`caCerts\*(C'\fR، \f(CW\*(C`rootCaCert\*(C'\fR، \&\f(CW\*(C`certReqTemplate\*(C'\fR و \f(CW\*(C`crlStatusList\*(C'\fR (بازیابی به‌روزرسانی CRL) وجود دارد. .IP "\fB\-profile\fR \fIname\fR" 4 .IX Item "-profile name" نام یک نمایه گواهی (certificate profile) برای قرارگیری در فیلد generalInfo هدر PKIHeader پیام‌های درخواست. .IP "\fB\-geninfo\fR \fIvalues\fR" 4 .IX Item "-geninfo values" فهرستی جداشده با کاما از InfoTypeAndValue برای قرارگیری در فیلد generalInfo هدر PKIHeader پیام‌های درخواست. هر InfoTypeAndValue یک OID و یک مقدار صحیح یا رشته‌ای به فرمت \fIOID\fR:int:\fInumber\fR یا \fIOID\fR:str:\fItext\fR تعیین می‌کند، مانند \f(CW\*(Aq1.2.3.4:int:56789, id\-kp:str:name\*(Aq\fR. .IP "\fB\-template\fR \fIfilename\fR" 4 .IX Item "-template filename" فایلی برای ذخیره هرگونه certTemplate از نوع CRMF در قالب DER که در یک پیام genp همراه با id-it-certReqTemplate دریافت شده باشد. .IP "\fB\-keyspec\fR \fIfilename\fR" 4 .IX Item "-keyspec filename" اختیاری است و برای تعیین فایلی جهت ذخیره هرگونه keySpec موجود در یک پیام genp با id-it-keyGenParameters استفاده می‌شود. .Sp نکته: هرگونه محتوای فیلد keySpec دریافت‌شده به عنوان INFO لاگ می‌شود. .SS "گزینه‌های ثبت‌نام گواهی (Certificate enrollment options)" .IX Subsection "Certificate enrollment options" .IP "\fB\-newkey\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-newkey filename|uri" منبع کلید خصوصی یا عمومی برای گواهی در حال درخواست. پیش‌فرض آن کلید عمومی موجود در PKCS#10 CSR ارائه‌شده با گزینه \fB\-csr\fR، کلید عمومی گواهی مرجع، یا کلید فعلی کلاینت است. .Sp بخش عمومی کلید در درخواست صدور گواهی قرار می‌گیرد. .Sp مگر در حالتی که \fB\-cmd\fR \fIp10cr\fR، \fB\-popo\fR \fI\-1\fR یا \fB\-popo\fR \fI0\fR داده شده باشد، کلید خصوصی نیز برای ارائه اثبات مالکیت (POPO) لازم خواهد بود، که در این صورت گزینه \fB\-key\fR می‌تواند یک جایگزین (fallback) فراهم کند. .IP "\fB\-newkeypass\fR \fIarg\fR" 4 .IX Item "-newkeypass arg" منبع عبارت عبور برای کلید مشخص‌شده با گزینه \fB\-newkey\fR. اگر در اینجا مشخص نشود، در صورت نیاز رمز عبور درخواست خواهد شد. .Sp برای اطلاعات بیشتر درباره قالب \fIarg\fR به \&\fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP \fB\-centralkeygen\fR 4 .IX Item "-centralkeygen" درخواست تولید متمرکز کلید برای ثبت‌نام گواهی. این گزینه برای \fB\-cmd\fR \fIir|cr|kur|p10cr\fR کاربرد دارد. .IP "\fB\-newkeyout\fR \fIfilename\fR" 4 .IX Item "-newkeyout filename" فایل ذخیره‌سازی کلید خصوصی تولیدشده به صورت متمرکز، در قالب PEM. .IP "\fB\-subject\fR \fIname\fR" 4 .IX Item "-subject name" نام متمایز (DN) مربوط به X.509 جهت استفاده به عنوان فیلد موضوع (subject) در الگوی گواهی درخواستی در پیام‌های IR/CR/KUR. اگر مقدار NULL-DN (\f(CW\*(C`/\*(C'\fR) داده شود، هیچ موضوعی در الگو قرار نمی‌گیرد. پیش‌فرض، DN موضوع هرگونه PKCS#10 CSR داده‌شده با گزینه \fB\-csr\fR است. برای KUR، یک جایگزین بعدی DN موضوع گواهی مرجع است (به \fB\-oldcert\fR مراجعه کنید) در صورتی که ارائه شده باشد. این جایگزین برای IR و CR تنها زمانی استفاده می‌شود که هیچ SAN تنظیم نشده باشد. .Sp در صورت ارائه و عدم تعیین هیچ‌یک از گزینه‌های \fB\-cert\fR، \fB\-oldcert\fR یا \fB\-csr\fR، DN موضوع به عنوان فرستنده جایگزین پیام‌های خروجی CMP استفاده می‌شود. .Sp آرگومان باید به صورت \fI/type0=value0/type1=value1/type2=...\fR قالب‌بندی شود. کاراکترهای ویژه را می‌توان با \f(CW\*(C`\e\*(C'\fR (بک‌اسلش) اسکیپ کرد؛ فاصله‌های خالی حفظ می‌شوند. مقادیر خالی مجاز هستند، اما نوع متناظر درج نخواهد شد. ارائه یک \f(CW\*(C`/\*(C'\fR تنها منجر به توالی خالی از RDNها (یک NULL-DN) می‌شود. RDNهای چندمقداری را می‌توان با قرار دادن کاراکتر \f(CW\*(C`+\*(C'\fR به جای \f(CW\*(C`/\*(C'\fR بین AttributeValueAssertionها (AVAها) که اعضای مجموعه را مشخص می‌کنند، تشکیل داد. مثال: .Sp \&\f(CW\*(C`/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe\*(C'\fR .IP "\fB\-days\fR \fInumber\fR" 4 .IX Item "-days number" تعداد روزهایی که گواهی جدید درخواست می‌شود معتبر باشد، شمارش‌شده از زمان فعلی میزبان. همچنین این گزینه درخواست صریح مبنی بر شروع دوره اعتبار از زمان فعلی (از دید میزبان) را فعال می‌کند. .IP "\fB\-reqexts\fR \fIname\fR" 4 .IX Item "-reqexts name" نام بخش در فایل پیکربندی OpenSSL که افزونه‌های درخواست گواهی را تعریف می‌کند. اگر گزینه \fB\-csr\fR وجود داشته باشد، این افزونه‌ها افزونه‌های موجود در PKCS#10 CSR ارائه‌شده را تکمیل کرده و هرگونه افزونه با OID یکسان را بازنویسی می‌کنند. .IP "\fB\-sans\fR \fIspec\fR" 4 .IX Item "-sans spec" یک یا چند آدرس IP، آدرس ایمیل، نام DNS یا URI جداشده با کاما یا فاصله (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد) برای افزودن به عنوان افزونه نام جایگزین موضوع (SAN) در درخواست گواهی. اگر عنصر ویژه "critical" داده شود، SANها بحرانی علامت‌گذاری می‌شوند. در صورت تنظیم هرگونه افزونه نام جایگزین موضوع از طریق \fB\-reqexts\fR نمی‌توان از این گزینه استفاده کرد. .IP \fB\-san_nodefault\fR 4 .IX Item "-san_nodefault" هنگامی که نام‌های جایگزین موضوع نه از طریق \fB\-sans\fR ارائه شده باشند و نه از طریق \fB\-reqexts\fR تعریف شده باشند، به طور پیش‌فرض از گواهی مرجع کپی می‌شوند (به \fB\-oldcert\fR مراجعه کنید). این رفتار را می‌توان با ارائه گزینه \fB\-san_nodefault\fR غیرفعال کرد. .IP "\fB\-policies\fR \fIname\fR" 4 .IX Item "-policies name" نام بخش در فایل پیکربندی OpenSSL که سیاست‌های لازم برای تنظیم به عنوان افزونه درخواست گواهی را تعریف می‌کند. این گزینه نمی‌تواند همزمان با \fB\-policy_oids\fR استفاده شود. .IP "\fB\-policy_oids\fR \fInames\fR" 4 .IX Item "-policy_oids names" یک یا چند OID، جداشده با کاما و/یا فاصله (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد) برای افزودن به عنوان افزونه سیاست‌های گواهی در درخواست. این گزینه نمی‌تواند همراه با \fB\-policies\fR استفاده شود. .IP \fB\-policy_oids_critical\fR 4 .IX Item "-policy_oids_critical" علامت‌گذاری سیاست‌های ارائه‌شده با \fB\-policy_oids\fR به عنوان بحرانی (critical). .IP "\fB\-popo\fR \fInumber\fR" 4 .IX Item "-popo number" روش اثبات مالکیت (POPO) مورد استفاده برای IR/CR/KUR؛ مقادیر: \f(CW\-1\fR..\f(CW2\fR که در آن \&\f(CW\-1\fR = NONE (که متضمن تولید متمرکز کلید است)، \&\f(CW0\fR = RAVERIFIED، \f(CW1\fR = SIGNATURE (پیش‌فرض)، \f(CW2\fR = KEYENC. .Sp توجه داشته باشید که POPO مبتنی بر امضا تنها در صورتی می‌تواند تولید شود که یک کلید خصوصی از طریق گزینه‌های \fB\-newkey\fR یا \fB\-key\fR فراهم شده باشد. .IP "\fB\-csr\fR \fIfilename\fR" 4 .IX Item "-csr filename" یک PKCS#10 CSR در قالب PEM یا DER شامل یک درخواست گواهی. همراه با \fB\-cmd\fR \fIp10cr\fR مستقیماً در یک پیام قدیمی P10CR استفاده می‌شود. .Sp هنگامی که با \fB\-cmd\fR \fIir\fR، \fIcr\fR یا \fIkur\fR استفاده شود، به درخواست استاندارد CMP مربوطه تبدیل می‌گردد. در این حالت، باید یک کلید خصوصی (با \fB\-newkey\fR یا \fB\-key\fR) برای اثبات مالکیت فراهم شود (مگر اینکه \fB\-popo\fR \fI\-1\fR یا \fB\-popo\fR \fI0\fR استفاده شود) و کلید عمومی مربوطه در درخواست صدور گواهی قرار می‌گیرد (به جای برداشتن کلید عمومی موجود در PKCS#10 CSR). .Sp ورودی PKCS#10 CSR همچنین می‌تواند با \fB\-cmd\fR \fIrr\fR جهت تعیین گواهی مورد نظر برای ابطال از طریق نام موضوع و کلید عمومی موجود در آن استفاده شود. در صورتی که \fB\-cert\fR و \fB\-oldcert\fR داده نشده باشند، موضوع آن به عنوان فرستنده جایگزین در هدر پیام‌های CMP استفاده می‌شود. .IP "\fB\-out_trusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-out_trusted filenames|uris" گواهی(های) معتمد مورد استفاده برای اعتبارسنجی گواهی تازه ثبت‌نام‌شده. در طول این اعتبارسنجی، هرگونه بررسی وضعیت گواهی غیرفعال است. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR تنها بر اعتبارسنجی گواهی فعال‌شده از طریق این گزینه تأثیر می‌گذارند. .IP \fB\-implicit_confirm\fR 4 .IX Item "-implicit_confirm" درخواست تایید ضمنی (implicit confirmation) برای گواهی‌های تازه ثبت‌نام‌شده. .IP \fB\-disable_confirm\fR 4 .IX Item "-disable_confirm" عدم ارسال پیام تایید گواهی برای گواهی تازه ثبت‌نام‌شده بدون درخواست تایید ضمنی، جهت کنار آمدن با سرورهای معیوبی که به درستی از تایید ضمنی پشتیبانی نمی‌کنند. \&\fBهشدار:\fR این کار منجر به رفتاری مغایر با RFC 9810 می‌شود. .IP "\fB\-certout\fR \fIfilename\fR" 4 .IX Item "-certout filename" فایلی که هرگونه گواهی تازه ثبت‌نام‌شده باید در آن ذخیره شود. .IP "\fB\-chainout\fR \fIfilename\fR" 4 .IX Item "-chainout filename" فایلی که زنجیره هرگونه گواهی تازه ثبت‌نام‌شده باید در آن ذخیره شود. این زنجیره شامل گواهی برگ (leaf)، یعنی خود گواهی تازه ثبت‌نام‌شده نمی‌شود. همچنین لنگر اعتماد (گواهی ریشه) نیز گنجانده نمی‌شود. .Sp اگر گزینه \fB\-certout\fR نیز با آرگومان \fIfilename\fR یکسان داده شود، فایل تولیدشده شامل هر دو خروجی به صورت متصل به هم خواهد بود: گواهی تازه ثبت‌نام‌شده و به دنبال آن زنجیره آن. .SS "گزینه‌های ثبت‌نام و ابطال گواهی (Certificate enrollment and revocation options)" .IX Subsection "Certificate enrollment and revocation options" .IP "\fB\-oldcert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-oldcert filename|uri" گواهی مورد نظر برای به‌روزرسانی (یعنی تمدید یا تجدید کلید) در پیام‌های درخواست به‌روزرسانی کلید (KUR) یا برای ابطال در پیام‌های درخواست ابطال (RR). برای KUR گواهی مورد به‌روزرسانی به صورت پیش‌فرض \fB\-cert\fR است، و گواهی حاصل \fIگواهی مرجع\fR (reference certificate) نامیده می‌شود. برای RR گواهی مورد ابطال را می‌توان با استفاده از \fB\-csr\fR نیز مشخص کرد. اگر \fB\-issuer\fR و \fB\-serial\fR ارائه شوند، \fB\-oldcert\fR و \fB\-csr\fR نادیده گرفته می‌شوند. .Sp گواهی مرجع (در صورت وجود) همچنین برای استخراج DN موضوع پیش‌فرض و نام‌های جایگزین موضوع و ورودی صادرکننده پیش‌فرض در الگوی گواهی درخواستی یک IR/CR/KUR استفاده می‌شود. کلید عمومی آن به عنوان جایگزین در الگوی درخواست‌های صدور گواهی به کار می‌رود. موضوع آن در صورتی که \fB\-cert\fR داده نشده باشد به عنوان فرستنده پیام‌های خروجی استفاده می‌شود. صادرکننده آن به عنوان گیرنده پیش‌فرض در هدر پیام‌های CMP استفاده می‌شود در صورتی که هیچ‌یک از \fB\-recipient\fR، \fB\-srvcert\fR یا \fB\-issuer\fR داده نشده باشند. .IP "\fB\-issuer\fR \fIname\fR" 4 .IX Item "-issuer name" نام متمایز (DN) مربوط به X.509 جهت قرارگیری به عنوان فیلد صادرکننده (issuer) در الگوی گواهی درخواستی در پیام‌های IR/CR/KUR/RR. اگر مقدار NULL-DN (\f(CW\*(C`/\*(C'\fR) داده شود، هیچ صادرکننده‌ای در الگو قرار نمی‌گیرد. .Sp در صورت ارائه و عدم تعیین هیچ‌یک از \fB\-recipient\fR یا \fB\-srvcert\fR، DN صادرکننده به عنوان گیرنده جایگزین پیام‌های خروجی CMP استفاده می‌شود. .Sp آرگومان باید به صورت \fI/type0=value0/type1=value1/type2=...\fR قالب‌بندی شود. برای جزئیات به توضیحات گزینه \fB\-subject\fR مراجعه کنید. .IP "\fB\-serial\fR \fInumber\fR" 4 .IX Item "-serial number" تعیین شماره سریال گواهی مورد نظر برای ابطال در درخواست ابطال. شماره سریال می‌تواند ده‌دهی یا هگزادسیمال (در صورت پیشوند \f(CW\*(C`0x\*(C'\fR) باشد. .IP "\fB\-revreason\fR \fInumber\fR" 4 .IX Item "-revreason number" تنظیم CRLReason جهت درج در درخواست ابطال (RR)؛ مقادیر: \f(CW0\fR..\f(CW10\fR یا \f(CW\-1\fR برای هیچ‌کدام (که پیش‌فرض است). .Sp شماره‌های دلیل تعریف‌شده در RFC 5280 عبارتند از: .Sp .Vb 10 \& CRLReason ::= ENUMERATED { \& unspecified (0), \& keyCompromise (1), \& cACompromise (2), \& affiliationChanged (3), \& superseded (4), \& cessationOfOperation (5), \& certificateHold (6), \& \-\- value 7 is not used \& removeFromCRL (8), \& privilegeWithdrawn (9), \& aACompromise (10) \& } .Ve .SS "گزینه‌های انتقال پیام (Message transfer options)" .IX Subsection "Message transfer options" .IP "\fB\-server\fR \fI[http[s]://][userinfo@]host[:port][/path][?query][#fragment]\fR" 4 .IX Item "-server [http[s]://][userinfo@]host[:port][/path][?query][#fragment]" نام دامنه یا آدرس IP \fIhost\fR و به صورت اختیاری \fIport\fR مربوط به سرور CMP برای اتصال با استفاده از HTTP(S). آدرس IP می‌تواند v4 یا v6 باشد، مانند \f(CW127.0.0.1\fR یا \f(CW\*(C`[::1]\*(C'\fR برای localhost. اگر رشته میزبان یک آدرس IPv6 باشد، باید در \f(CW\*(C`[\*(C'\fR و \f(CW\*(C`]\*(C'\fR محصور شود. .Sp این گزینه مانع استفاده از \fI\-port\fR و \fI\-use_mock_srv\fR می‌شود. اگر \fI\-rspin\fR با تعداد کافی آرگومان نام فایل داده شود، نادیده گرفته می‌شود. .Sp اگر طرح‌واره (scheme) \f(CW\*(C`https\*(C'\fR داده شود، گزینه \fB\-tls_used\fR ضمنی است. هنگامی که TLS استفاده می‌شود، پورت پیش‌فرض 443 و در غیر این صورت 80 است. بخش‌های اختیاری userinfo و fragment نادیده گرفته می‌شوند. هر بخش query ارائه‌شده به عنوان بخشی از مؤلفه مسیر بررسی می‌شود. اگر مسیری درج شود، مقدار پیش‌فرض را برای گزینه \fB\-path\fR فراهم می‌کند. .IP "\fB\-proxy\fR \fI[http[s]://][userinfo@]host[:port][/path][?query][#fragment]\fR" 4 .IX Item "-proxy [http[s]://][userinfo@]host[:port][/path][?query][#fragment]" سرور پراکسی HTTP(S) برای رسیدن به سرور CMP، مگر اینکه \fB\-no_proxy\fR اعمال شود؛ به بخش زیر مراجعه کنید. اگر رشته میزبان یک آدرس IPv6 باشد، باید در \f(CW\*(C`[\*(C'\fR و \f(CW\*(C`]\*(C'\fR قرار گیرد. پورت پراکسی در صورت وجود طرح‌واره \f(CW\*(C`https\*(C'\fR به طور پیش‌فرض 443 و در غیر این صورت 80 است؛ صرف‌نظر از آن، پیشوند اختیاری \f(CW\*(C`http://\*(C'\fR یا \f(CW\*(C`https://\*(C'\fR نادیده گرفته می‌شود (توجه داشته باشید که استفاده از TLS ممکن است توسط \fB\-tls_used\fR یا \fB\-server\fR با پیشوند \f(CW\*(C`https\*(C'\fR الزامی شود)، همچنین هرگونه مؤلفه مسیر، userinfo، query و fragment نادیده گرفته می‌شوند. در صورت تنظیم به متغیر محیطی \f(CW\*(C`http_proxy\*(C'\fR و در غیر این صورت به \f(CW\*(C`HTTP_PROXY\*(C'\fR در صورتی که TLS استفاده نشود، و در غیر این صورت به \f(CW\*(C`https_proxy\*(C'\fR در صورت تنظیم وگرنه \f(CW\*(C`HTTPS_PROXY\*(C'\fR بازمی‌گردد. اگر \fI\-server\fR داده نشود، این گزینه نادیده گرفته می‌شود. .IP "\fB\-no_proxy\fR \fIaddresses\fR" 4 .IX Item "-no_proxy addresses" فهرستی از آدرس‌های IP و/یا نام‌های DNS سرورها که نباید برای آن‌ها از پراکسی HTTP(S) استفاده شود، جداشده با کاما و/یا فاصله (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). پیش‌فرض از متغیر محیطی \f(CW\*(C`no_proxy\*(C'\fR در صورت تنظیم، وگرنه \f(CW\*(C`NO_PROXY\*(C'\fR گرفته می‌شود. اگر \fI\-server\fR داده نشود، این گزینه نادیده گرفته می‌شود. .IP "\fB\-recipient\fR \fIname\fR" 4 .IX Item "-recipient name" نام متمایز (DN) برای استفاده در فیلد گیرنده (recipient) هدر پیام‌های درخواست CMP، یعنی سرور CMP (معمولاً CA مورد خطاب). .Sp فیلد گیرنده در هدر یک پیام CMP الزامی است. اگر صریحاً داده نشود، گیرنده به ترتیب زیر تعیین می‌شود: موضوع گواهی سرور CMP ارائه‌شده با گزینه \fB\-srvcert\fR، گزینه \fB\-issuer\fR، صادرکننده گواهی داده‌شده با گزینه \fB\-oldcert\fR، صادرکننده گواهی کلاینت CMP (گزینه \fB\-cert\fR)، تا جایی که هر یک از آن‌ها موجود باشد، وگرنه به عنوان آخرین چاره NULL-DN. .Sp آرگومان باید به صورت \fI/type0=value0/type1=value1/type2=...\fR قالب‌بندی شود. برای جزئیات به توضیحات گزینه \fB\-subject\fR مراجعه کنید. .IP "\fB\-path\fR \fIremote_path\fR" 4 .IX Item "-path remote_path" مسیر HTTP در سرور CMP (معروف به نام مستعار CMP یا CMP alias) برای استفاده در درخواست‌های POST. پیش‌فرض هر مسیری است که با \fB\-server\fR داده شده باشد، در غیر این صورت \f(CW"/"\fR. .IP "\fB\-keep_alive\fR \fIvalue\fR" 4 .IX Item "-keep_alive value" اگر مقدار داده‌شده 0 باشد، اتصالات HTTP پس از هر پاسخ بسته می‌شوند (که رفتار پیش‌فرض HTTP 1.0 است) حتی اگر یک تراکنش CMP به بیش از یک رفت‌وبرگشت (round trip) نیاز داشته باشد. اگر مقدار 1 یا 2 باشد، برای هر تراکنش یک اتصال پایدار (persistent connection) درخواست می‌شود. اگر مقدار 2 باشد، یک اتصال پایدار الزامی است، یعنی اگر سرور آن را نپذیرد، خطا رخ می‌دهد. مقدار پیش‌فرض 1 است، که به معنای ترجیح برای باز نگه‌داشتن اتصال است. .IP "\fB\-msg_timeout\fR \fIseconds\fR" 4 .IX Item "-msg_timeout seconds" تعداد ثانیه‌هایی که یک رفت‌وبرگشت پیام درخواست-پاسخ CMP مجاز است طول بکشد پیش از اینکه خطای مهلت زمانی بازگردانده شود. مقدار کوچک‌تر یا مساوی 0 به معنای عدم محدودیت (انتظار نامحدود) است. پیش‌فرض استفاده از تنظیم \fB\-total_timeout\fR است. .IP "\fB\-total_timeout\fR \fIseconds\fR" 4 .IX Item "-total_timeout seconds" حداکثر کل ثانیه‌هایی که یک تراکنش می‌تواند طول بکشد، شامل نظرسنجی (polling) و غیره. مقدار کوچک‌تر یا مساوی 0 به معنای عدم محدودیت (انتظار نامحدود) است. پیش‌فرض 0 است. .SS "گزینه‌های احراز هویت سرور (Server authentication options)" .IX Subsection "Server authentication options" .IP "\fB\-trusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-trusted filenames|uris" گواهی(های) مد نظر (معمولاً CAهای ریشه) که کلاینت باید به عنوان لنگرهای اعتماد هنگام اعتبارسنجی حفاظت مبتنی بر امضای پیام‌های پاسخ CMP استفاده کند. این گزینه در صورت تعیین همزمان گزینه \fB\-srvcert\fR نادیده گرفته می‌شود. این گزینه انعطاف‌پذیری بیشتری نسبت به \fB\-srvcert\fR فراهم می‌کند زیرا گواهی حفاظت CMP سرور سنجاق (pin) نمی‌شود، بلکه می‌تواند هر گواهی‌ای باشد که بتوان زنجیره‌ای از آن به یکی از لنگرهای اعتماد مشخص‌شده ساخت. .Sp اگر هیچ‌یک از گزینه‌های \fB\-trusted\fR، \fB\-srvcert\fR و \fB\-secret\fR مشخص نشوند، خطاهای اعتبارسنجی پیام ایجاد خواهند شد، مگر آنکه \fB\-unprotected_errors\fR یک استثنا قائل شود. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR هیچ تأثیری بر اعتبارسنجی گواهی فعال‌شده از طریق این گزینه ندارند. .IP "\fB\-untrusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-untrusted filenames|uris" گواهی(های) میانی نامعتمد CA. هرگونه گواهی اضافی ارائه‌شده با گزینه \fB\-cert\fR به آن اضافه می‌شود. تمام این گواهی‌ها ممکن است برای ساخت مسیر گواهی جهت گواهی امضاکننده CMP خود کلاینت (جهت قرارگیری در فیلد extraCerts پیام‌های درخواست) و برای گواهی کلاینت TLS (در صورت استفاده از TLS) و همچنین برای ساخت زنجیره هنگام اعتبارسنجی گواهی‌های سرور (بررسی حفاظت مبتنی بر امضای پیام CMP) و هنگام اعتبارسنجی گواهی‌های تازه ثبت‌نام‌شده مفید باشند. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .IP "\fB\-srvcert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-srvcert filename|uri" گواهی خاص سرور CMP برای انتظار و اعتماد مستقیم (حتی اگر منقضی شده باشد) هنگام بررسی حفاظت مبتنی بر امضای پیام‌های پاسخ CMP. این کار سرور پذیرفته‌شده را سنجاق (pin) کرده و باعث نادیده گرفته شدن گزینه \fB\-trusted\fR می‌شود. .Sp در صورت تنظیم، موضوع گواهی همچنین به عنوان مقدار پیش‌فرض گیرنده درخواست‌های CMP و مقدار پیش‌فرض فرستنده مورد انتظار پاسخ‌های CMP استفاده می‌شود. .IP "\fB\-expect_sender\fR \fIname\fR" 4 .IX Item "-expect_sender name" نام متمایز (DN) مورد انتظار در فیلد فرستنده پیام‌های دریافتی CMP. پیش‌فرض آن DN موضوع \fB\-srvcert\fR سنجاق‌شده است (در صورت وجود). .Sp این گزینه می‌تواند برای اطمینان از اینکه فقط یک موجودیت مشخص به عنوان امضاکننده پیام CMP پذیرفته می‌شود استفاده گردد تا مهاجمان نتوانند از گواهی‌های دلخواه یک سلسله‌مراتب PKI معتمد برای جا زدن خود به عنوان سرور CMP سوءاستفاده کنند. توجه داشته باشید که این گزینه نسبت به تنظیم \fB\-srvcert\fR آزادی عمل بیشتری می‌دهد، چرا که \fB\-srvcert\fR سرور را به دارنده یک گواهی خاص محدود می‌کند، در حالی که نام فرستنده مورد انتظار پس از به‌روزرسانی‌های گواهی سرور نیز همچنان تطابق خواهد داشت. .Sp آرگومان باید به صورت \fI/type0=value0/type1=value1/type2=...\fR قالب‌بندی شود. برای جزئیات به توضیحات گزینه \fB\-subject\fR مراجعه کنید. .IP \fB\-ignore_keyusage\fR 4 .IX Item "-ignore_keyusage" نادیده گرفتن محدودیت‌های استفاده از کلید (key usage) در گواهی‌های امضاکننده CMP هنگام اعتبارسنجی حفاظت مبتنی بر امضای پیام‌های دریافتی CMP. به طور پیش‌فرض، \f(CW\*(C`digitalSignature\*(C'\fR باید توسط گواهی‌های امضاکننده CMP مجاز باشد. این گزینه برای هر دو کلاینت CMP و سرور ماک اعمال می‌شود. .IP \fB\-unprotected_errors\fR 4 .IX Item "-unprotected_errors" پذیرش حفاظت نامعتبر یا گم‌شده در پاسخ‌های منفی از سوی سرور. این برای انواع پیام‌ها و محتواهای زیر اعمال می‌شود: .RS 4 .IP \(bu 4 پیام‌های خطا .IP \(bu 4 پاسخ‌های منفی گواهی (IP/CP/KUP) .IP \(bu 4 پاسخ‌های منفی ابطال (RP) .IP \(bu 4 پیام‌های منفی PKIConf .RE .RS 4 .Sp \&\fBهشدار:\fR این تنظیم منجر به رفتاری نامشخص می‌شود و منحصراً برای فراهم آوردن امکان تعامل با پیاده‌سازی‌های سروری که ناقض RFC 9810 هستند در نظر گرفته شده است؛ به عنوان مثال: .IP \(bu 4 بخش 5.1.3.1 استثنائات عدم حفاظت را فقط برای موارد خاص مجاز می‌داند: "ممکن است مواردی وجود داشته باشد که در آن‌ها از رشته بیتی PKIProtection عمداً برای حفاظت از پیام استفاده نشود [...] زیرا حفاظت دیگری، خارج از PKIX، به جای آن اعمال خواهد شد." .IP \(bu 4 بخش 5.3.21 در رابطه با ErrMsgContent صریح است: "مرجع صدور گواهی (CA) همواره باید آن را با یک کلید امضا، امضا کند." .IP \(bu 4 پیوست D.4 پیام PKIConf را با داشتن حفاظت نشان می‌دهد. .RE .RS 4 .RE .IP \fB\-no_cache_extracerts\fR 4 .IX Item "-no_cache_extracerts" عدم ذخیره در حافظه موقت (cache) برای گواهی‌های موجود در فیلد extraCerts پیام‌های CMP دریافتی. به طور پیش‌فرض، این گواهی‌ها نگهداری می‌شوند زیرا ممکن است برای اعتبارسنجی پیام‌های بعدی مفید باشند. این گزینه برای کلاینت‌های CMP و سرور ماک اعمال می‌شود. .Sp در هر صورت، پس از اعتبارسنجی موفقیت‌آمیز یک پیام دریافتی، گواهی حفاظت آن (در صورت وجود) برای استفاده مجدد در اعتبارسنجی پیام‌های بعدی کش می‌شود. این کار نه تنها برای کارایی، بلکه برای برطرف کردن نیاز فرستنده به درج گواهی و زنجیره مربوطه در فیلد extraCerts پیام‌های بعدی همان تراکنش انجام می‌شود. .IP "\fB\-srvcertout\fR \fIfilename\fR" 4 .IX Item "-srvcertout filename" فایلی برای ذخیره گواهی با موفقیت اعتبارسنجی‌شده (در صورت وجود) که سرور CMP برای حفاظت مبتنی بر امضای پیام پاسخ استفاده کرده است. اگر چنین گواهی‌ای وجود نداشته باشد (معمولاً به دلیل اینکه حفاظت مبتنی بر MAC بوده است)، این مورد با حذف فایل (در صورت وجود) نشان داده می‌شود. .IP "\fB\-extracertsout\fR \fIfilename\fR" 4 .IX Item "-extracertsout filename" فایلی برای ذخیره فهرست گواهی‌های موجود در فیلد extraCerts آخرین پیام پاسخ دریافتی که pollRep یا PKIConf نباشد. .IP "\fB\-cacertsout\fR \fIfilename\fR" 4 .IX Item "-cacertsout filename" فایلی برای ذخیره فهرست گواهی‌های CA موجود در فیلد caPubs در صورت دریافت یک پیام پاسخ گواهی مثبت (یعنی IP، CP یا KUP) یا موجود در یک پیام پاسخ عمومی (genp) با infoType از نوع \f(CW\*(C`caCerts\*(C'\fR. .IP "\fB\-oldwithold\fR \fIfilename\fR" 4 .IX Item "-oldwithold filename" گواهی ریشه CA برای گنجاندن در یک درخواست genm از نوع infoType با مقدار \f(CW\*(C`rootCaCert\*(C'\fR. در صورت وجود و دریافت گواهی اختیاری oldWithNew، این گواهی با استفاده از گواهی newWithNew به عنوان (تنها) لنگر اعتماد بررسی و اعتبارسنجی می‌شود. .IP "\fB\-newwithnew\fR \fIfilename\fR" 4 .IX Item "-newwithnew filename" این گزینه باید زمانی که \fB\-infotype\fR \fIrootCaCert\fR داده می‌شود، فراهم گردد. این گزینه فایلی را برای ذخیره گواهی newWithNew دریافتی در پیام genp از نوع \f(CW\*(C`rootCaKeyUpdate\*(C'\fR مشخص می‌کند. اگر در صورت موفقیت چنین گواهی‌ای دریافت نشود، این فایل (در صورت وجود) حذف می‌شود تا نشان دهد به‌روزرسانی گواهی ریشه درخواستی CA در دسترس نیست. .Sp هر گواهی newWithNew دریافت‌شده با استفاده از هر گواهی newWithOld دریافتی به عنوان گواهی میانی نامعتمد و گواهی ارائه‌شده با \fB\-oldwithold\fR به عنوان (تنها) لنگر اعتماد، یا در صورت عدم ارائه، با استفاده از گواهی‌های ارائه‌شده با گزینه \fB\-trusted\fR اعتبارسنجی می‌شود. .Sp \&\fBهشدار:\fR گواهی newWithNew قرار است گواهی‌ای باشد که مورد اعتماد قرار می‌گیرد. اعتماد قرار داده‌شده به آن نمی‌تواند قوی‌تر از اعتماد قرار داده‌شده به گواهی \fB\-oldwithold\fR (در صورت وجود) باشد، در غیر این صورت نمی‌تواند قوی‌تر از ضعیف‌ترین اعتماد قرار داده‌شده به هر یک از گواهی‌های \fB\-trusted\fR باشد. .IP "\fB\-newwithold\fR \fIfilename\fR" 4 .IX Item "-newwithold filename" فایلی برای ذخیره هرگونه گواهی newWithOld دریافتی در پیام genp با infoType از نوع \f(CW\*(C`rootCaKeyUpdate\*(C'\fR. اگر در صورت موفقیت چنین گواهی‌ای دریافت نشود، این موضوع با حذف فایل نشان داده می‌شود. .IP "\fB\-oldwithnew\fR \fIfilename\fR" 4 .IX Item "-oldwithnew filename" فایلی برای ذخیره هرگونه گواهی oldWithNew دریافتی در پیام genp با infoType از نوع \f(CW\*(C`rootCaKeyUpdate\*(C'\fR. اگر در صورت موفقیت چنین گواهی‌ای دریافت نشود، این موضوع با حذف فایل نشان داده می‌شود. .IP "\fB\-crlcert\fR \fIfilename\fR" 4 .IX Item "-crlcert filename" گواهی برای استخراج داده‌های صادرکننده CRL برای فیلد منبع هنگام دریافت CRL در درخواست genm با infoType از نوع \f(CW\*(C`crlStatusList\*(C'\fR. هر نام نقطه توزیع (distribution point) موجود بر نام‌های صادرکننده ترجیح داده می‌شود. .IP "\fB\-oldcrl\fR \fIfilename\fR" 4 .IX Item "-oldcrl filename" فهرست CRL برای دریافت به‌روزرسانی در درخواست genm با infoType از نوع \f(CW\*(C`crlStatusList\*(C'\fR. مگر اینکه گزینه \fB\-crlcert\fR نیز ارائه شده باشد، از CRL داده‌شده برای استخراج داده‌های صادرکننده CRL برای فیلد منبع استفاده می‌شود. هر نام نقطه توزیع موجود بر نام‌های صادرکننده ترجیح داده می‌شود. اگر CRL حاوی فیلد thisUpdate باشد، مقدار آن در درخواست کپی می‌شود. .IP "\fB\-crlout\fR \fIfilename\fR" 4 .IX Item "-crlout filename" فایلی برای ذخیره هرگونه CRL دریافت‌شده در پیام genp با infoType از نوع \f(CW\*(C`crls\*(C'\fR. اگر در صورت موفقیت چنین CRLای دریافت نشود، این موضوع با حذف فایل نشان داده می‌شود. .SS "گزینه‌های احراز هویت کلاینت (Client authentication options)" .IX Subsection "Client authentication options" .IP "\fB\-ref\fR \fIvalue\fR" 4 .IX Item "-ref value" شماره/رشته/مقدار مرجع برای استفاده به عنوان senderKID جایگزین؛ این مورد در صورتی که نتوان نام فرستنده‌ای را از گزینه‌های \fB\-cert\fR یا \fB\-subject\fR تعیین کرد الزامی است و معمولاً هنگام احراز هویت با کلید از پیش اشتراک‌گذاشته‌شده (MAC مبتنی بر گذرواژه) استفاده می‌شود. .IP "\fB\-secret\fR \fIarg\fR" 4 .IX Item "-secret arg" منبع یک مقدار محرمانه (secret) را برای استفاده در حفاظت پیام مبتنی بر MAC فراهم می‌کند. این گزینه بر گزینه‌های \fB\-cert\fR و \fB\-key\fR اولویت دارد. مقدار محرمانه برای ایجاد حفاظت مبتنی بر MAC در پیام‌های خروجی و برای اعتبارسنجی پیام‌های ورودی دارای حفاظت مبتنی بر MAC استفاده می‌شود. الگوریتم پیش‌فرض کد احراز هویت پیام مبتنی بر گذرواژه (PBM) طبق تعریف بخش 5.1.3.1 در RFC 9810 است. .Sp برای اطلاعات بیشتر درباره قالب \fIarg\fR به \&\fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP "\fB\-cert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-cert filename|uri" گواهی فعلی امضاکننده CMP کلاینت. نیازمند این است که کلید متناظر با \fB\-key\fR ارائه شود. .Sp موضوع و کلید عمومی موجود در این گواهی به عنوان مقادیر جایگزین در الگوی گواهی پیام‌های IR/CR/KUR عمل می‌کنند. .Sp موضوع این گواهی به عنوان فرستنده پیام‌های خروجی CMP استفاده خواهد شد، در حالی که موضوع \fB\-oldcert\fR یا \fB\-subject\fR ممکن است مقادیر جایگزین فراهم کنند. .Sp صادرکننده این گواهی به عنوان یکی از مقادیر جایگزین گیرنده و به عنوان ورودی صادرکننده جایگزین در الگوی گواهی پیام‌های IR/CR/KUR استفاده می‌شود. .Sp هنگام انجام حفاظت پیام مبتنی بر امضا، این "گواهی حفاظت" که "گواهی امضاکننده" نیز نامیده می‌شود، ابتدا در فیلد extraCerts پیام‌های خروجی قرار می‌گیرد و امضا با کلید متناظر انجام می‌شود. در پیام‌های درخواست مقداردهی اولیه (IR)، این گزینه می‌تواند برای احراز هویت با استفاده از یک گواهی موجودیت خارجی طبق تعریف پیوست D.7 از RFC 9810 استفاده شود. .Sp برای پیام‌های درخواست به‌روزرسانی کلید (KUR)، این گزینه در صورتی که \fB\-oldcert\fR داده نشده باشد به عنوان گواهی مورد به‌روزرسانی نیز استفاده می‌شود. .Sp اگر فایل شامل گواهی‌های بیشتری باشد، آن‌ها به گواهی‌های نامعتمد الحاق می‌شوند زیرا معمولاً زنجیره گواهی کلاینت را تشکیل می‌دهند که در فیلد extraCerts پیام‌های درخواست محافظت‌شده با امضا درج می‌گردد. .IP "\fB\-own_trusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-own_trusted filenames|uris" اگر این فهرست از گواهی‌ها ارائه شود، زنجیره ساخته‌شده برای گواهی امضاکننده CMP سمت کلاینت ارائه‌شده با گزینه \fB\-cert\fR با استفاده از گواهی‌های داده‌شده به عنوان لنگرهای اعتماد اعتبارسنجی می‌شود. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR هیچ تأثیری بر اعتبارسنجی گواهی فعال‌شده از طریق این گزینه ندارند. .IP "\fB\-key\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-key filename|uri" فایل کلید خصوصی متناظر برای گواهی فعلی کلاینت داده‌شده در گزینه \fB\-cert\fR. این کلید برای حفاظت پیام مبتنی بر امضا استفاده خواهد شد، مگر آنکه گزینه \fB\-secret\fR نشان‌دهنده حفاظت مبتنی بر MAC یا \fB\-unprotected_requests\fR داده شده باشد. .Sp همچنین به عنوان جایگزین برای گزینه \fB\-newkey\fR در پیام‌های IR/CR/KUR استفاده می‌شود. .IP "\fB\-keypass\fR \fIarg\fR" 4 .IX Item "-keypass arg" منبع عبارت عبور برای کلید خصوصی داده‌شده با گزینه \fB\-key\fR. همچنین برای \fB\-cert\fR و \fB\-oldcert\fR در صورتی که یک فایل رمزشده PKCS#12 باشند استفاده می‌شود. اگر در اینجا مشخص نشود، در صورت نیاز رمز عبور درخواست خواهد شد. .Sp برای اطلاعات بیشتر درباره قالب \fIarg\fR به \&\fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP "\fB\-digest\fR \fIname\fR" 4 .IX Item "-digest name" نام خلاصه پیام (digest) پشتیبانی‌شده را برای استفاده در MSG_SIG_ALG مربوط به RFC 9810 و به عنوان تابع یک‌طرفه (OWF) در \f(CW\*(C`MSG_MAC_ALG\*(C'\fR مشخص می‌کند. در صورت کاربرد، این گزینه برای حفاظت پیام و امضاهای اثبات مالکیت (POPO) استفاده می‌شود. برای مشاهده فهرست خلاصه پیام‌های پشتیبانی‌شده از دستور \f(CW\*(C`openssl list \-digest\-commands\*(C'\fR استفاده کنید. پیش‌فرض \f(CW\*(C`sha256\*(C'\fR است. .IP "\fB\-mac\fR \fIname\fR" 4 .IX Item "-mac name" نام الگوریتم MAC را در \f(CW\*(C`MSG_MAC_ALG\*(C'\fR مشخص می‌کند. برای دریافت نام‌های الگوریتم‌های MAC پشتیبانی‌شده از \f(CW\*(C`openssl list \-mac\-algorithms\*(C'\fR استفاده کنید و در صورت نیاز چنین نامی را با نام یک الگوریتم دایجست پشتیبانی‌شده ترکیب کنید، مثلاً hmacWithSHA256. پیش‌فرض \f(CW\*(C`hmac\-sha1\*(C'\fR است، جهت سازگاری با گذشته مطابق RFC 4210. .IP "\fB\-extracerts\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-extracerts filenames|uris" گواهی‌هایی برای الحاق در فیلد extraCerts هنگام ارسال پیام‌ها. می‌توان از آن‌ها به عنوان زنجیره پیش‌فرض گواهی امضاکننده CMP برای درج در پیام استفاده کرد. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .IP \fB\-unprotected_requests\fR 4 .IX Item "-unprotected_requests" ارسال پیام‌های درخواست بدون حفاظت در سطح CMP. .SS "گزینه‌های قالب اطلاعات هویتی (Credentials format options)" .IX Subsection "Credentials format options" .IP "\fB\-certform\fR \fIPEM|DER\fR" 4 .IX Item "-certform PEM|DER" قالب فایل مورد استفاده هنگام ذخیره گواهی در یک فایل. مقدار پیش‌فرض PEM است. .IP "\fB\-crlform\fR \fIPEM|DER\fR" 4 .IX Item "-crlform PEM|DER" قالب فایل مورد استفاده هنگام ذخیره یک CRL در یک فایل. مقدار پیش‌فرض DER است. قالب DER ترجیح داده می‌شود زیرا ذخیره‌سازی کارآمدتر CRLهای بزرگ را امکان‌پذیر می‌سازد. .IP "\fB\-keyform\fR \fIPEM|DER|P12|ENGINE\fR" 4 .IX Item "-keyform PEM|DER|P12|ENGINE" قالب ورودی کلید؛ به طور پیش‌فرض نامشخص است. برای جزئیات به "گزینه‌های قالب (Format Options)" در \fBopenssl\fR\|(1) مراجعه کنید. .IP "\fB\-otherpass\fR \fIarg\fR" 4 .IX Item "-otherpass arg" منبع عبارت عبور برای گواهی ارائه‌شده با گزینه‌های \fB\-trusted\fR، \fB\-untrusted\fR، \&\fB\-own_trusted\fR، \fB\-srvcert\fR، \fB\-crlcert\fR، \fB\-out_trusted\fR، \fB\-extracerts\fR، \&\fB\-srv_trusted\fR، \fB\-srv_untrusted\fR، \fB\-ref_cert\fR، \&\fB\-rsp_extracerts\fR، \fB\-rsp_capubs\fR، \&\fB\-rsp_newwithnew\fR، \fB\-rsp_newwithold\fR، \fB\-rsp_oldwithnew\fR، \&\fB\-tls_extra\fR و \fB\-tls_trusted\fR. اگر در اینجا مشخص نشود، در صورت نیاز رمز عبور درخواست خواهد شد. .Sp برای اطلاعات بیشتر درباره قالب \fIarg\fR به \&\fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP "\fB\-engine\fR \fIid\fR" 4 .IX Item "-engine id" به "گزینه‌های موتور (Engine Options)" در \fBopenssl\fR\|(1) مراجعه کنید. این گزینه منسوخ شده است. .Sp به عنوان جایگزینی برای استفاده از این ترکیب: .Sp .Vb 1 \& \-engine {engineid} \-key {keyid} \-keyform ENGINE .Ve .Sp همچنین می‌توان شناسه کلید را به صورت URI به \fB\-key\fR داد، مانند این: .Sp .Vb 1 \& \-key org.openssl.engine:{engineid}:{keyid} .Ve .Sp این مورد برای تمام گزینه‌هایی که کلیدها را تعیین می‌کنند اعمال می‌شود: \fB\-key\fR، \fB\-newkey\fR و \&\fB\-tls_key\fR. .SS "گزینه‌های ارائه‌دهنده (Provider options)" .IX Subsection "Provider options" .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) مراجعه کنید. .SS "گزینه‌های وضعیت تصادفی (Random state options)" .IX Subsection "Random state options" .IP "\fB\-rand\fR \fIfiles\fR, \fB\-writerand\fR \fIfile\fR" 4 .IX Item "-rand files, -writerand file" برای جزئیات به "گزینه‌های وضعیت تصادفی (Random State Options)" در \fBopenssl\fR\|(1) مراجعه کنید. .SS "گزینه‌های اتصال TLS (TLS connection options)" .IX Subsection "TLS connection options" .IP \fB\-tls_used\fR 4 .IX Item "-tls_used" وادار کردن کلاینت CMP به استفاده از TLS (صرف‌نظر از اینکه سایر گزینه‌های مربوط به TLS تنظیم شده باشند یا خیر) برای تبادل پیام با سرور از طریق HTTP. این گزینه با گزینه \fI\-port\fR پشتیبانی نمی‌شود. اگر گزینه \fB\-server\fR با طرح‌واره \f(CW\*(C`https\*(C'\fR داده شود، این گزینه ضمنی است. اگر گزینه \fB\-server\fR داده نشود یا \fB\-use_mock_srv\fR داده شود یا \fB\-rspin\fR با تعداد کافی آرگومان نام فایل ارائه شود، نادیده گرفته می‌شود. .Sp در صورتی که TLS استفاده نشود، گزینه‌های مربوط به TLS زیر نادیده گرفته می‌شوند. .IP "\fB\-tls_cert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-tls_cert filename|uri" گواهی TLS کلاینت برای احراز هویت در برابر سرور TLS. اگر منبع شامل گواهی‌های بیشتری باشد، آن‌ها (در کنار گواهی‌های \fB\-untrusted\fR) برای ساخت زنجیره گواهی کلاینت که به سرور TLS ارائه می‌شود استفاده خواهند شد. .IP "\fB\-tls_key\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-tls_key filename|uri" کلید خصوصی برای گواهی TLS کلاینت. .IP "\fB\-tls_keypass\fR \fIarg\fR" 4 .IX Item "-tls_keypass arg" منبع عبارت عبور برای کلید خصوصی TLS کلاینت (\fB\-tls_key\fR). همچنین برای \fB\-tls_cert\fR در صورتی که یک فایل رمزشده PKCS#12 باشد استفاده می‌شود. اگر در اینجا مشخص نشود، در صورت نیاز رمز عبور درخواست خواهد شد. .Sp برای اطلاعات بیشتر درباره قالب \fIarg\fR به \&\fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP "\fB\-tls_extra\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-tls_extra filenames|uris" گواهی‌های اضافی برای ارائه به سرور TLS هنگام دست‌تکانی (handshake). .IP "\fB\-tls_trusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-tls_trusted filenames|uris" گواهی(های) معتمد برای استفاده در اعتبارسنجی گواهی سرور TLS. این متضمن اعتبارسنجی نام میزبان (hostname validation) است. .Sp می‌توان چندین منبع را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). هر منبع ممکن است حاوی چندین گواهی باشد. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR هیچ تأثیری بر اعتبارسنجی گواهی فعال‌شده از طریق این گزینه ندارند. .IP "\fB\-tls_host\fR \fIname\fR" 4 .IX Item "-tls_host name" آدرسی که باید در طول اعتبارسنجی نام میزبان بررسی شود. این مقدار می‌تواند یک نام DNS یا یک آدرس IP باشد. در صورت عدم ارائه، به طور پیش‌فرض آدرس \fB\-server\fR در نظر گرفته می‌شود. .SS "گزینه‌های سمت کلاینت برای اشکال‌زدایی و سناریوهای آفلاین (Client-side options for debugging and offline scenarios)" .IX Subsection "Client-side options for debugging and offline scenarios" .IP \fB\-batch\fR 4 .IX Item "-batch" عدم درخواست ورودی به صورت تعاملی، برای نمونه هنگام نیاز به رمز عبور. این گزینه می‌تواند برای پردازش دسته‌ای و آزمون‌ها مفید باشد. .IP "\fB\-repeat\fR \fInumber\fR" 4 .IX Item "-repeat number" فراخوانی دستور به تعداد دفعات مثبت مشخص‌شده با همان پارامترها. پیش‌فرض یک بار فراخوانی است. .IP "\fB\-reqin\fR \fIfilenames\fR" 4 .IX Item "-reqin filenames" خواندن توالی درخواست‌های CMP برای ارسال به سرور از فایل(های) داده‌شده به جای توالی درخواست‌های تولیدشده به صورت داخلی. .Sp این گزینه برای پشتیبانی از سناریوهای آفلاین مفید است که در آن‌ها درخواست گواهی (یا هر درخواست CMP دیگر) از قبل تولید شده و بعداً ارسال می‌شود. .Sp اگر گزینه \fB\-rspin\fR داده شود، این گزینه نادیده گرفته می‌شود زیرا در حالت اخیر در عمل هیچ درخواستی ارسال نمی‌شود. .Sp توجه داشته باشید که کلاینت در هر صورت توالی پیام‌های درخواست CMP خود را به صورت داخلی تولید می‌کند. بنابراین، تمامی گزینه‌های لازم برای انجام این کار (مانند \fB\-cmd\fR و تمام گزینه‌های فراهم‌کننده پارامترهای لازم) باید هنگام حضور گزینه \fB\-reqin\fR نیز ارائه شوند. .Sp اگر گزینه \fB\-reqin\fR برای یک درخواست گواهی ارائه شود و هیچ‌یک از گزینه‌های \fB\-newkey\fR، \fB\-key\fR، \fB\-oldcert\fR یا \fB\-csr\fR مشخص نشده باشند، یک کلید عمومی جایگزین از فایل پیام درخواست گرفته می‌شود (در صورتی که در الگوی گواهی گنجانده شده باشد). .Sp راهنمایی: در صورتی که گزینه \fB\-reqin\fR برای درخواست گواهی داده شود، موقعیت‌هایی وجود دارد که در آن‌ها کلاینت به کلید عمومی برای صدور گواهی دسترسی دارد اما به کلید خصوصی که به طور پیش‌فرض برای اثبات مالکیت لازم است دسترسی ندارد. در این حالت POPO در عمل لازم نیست (زیرا پیام درخواست گواهی تولیدشده به صورت داخلی ارسال نخواهد شد)، و تولید آن را می‌توان با گزینه‌های \fB\-popo\fR \fI\-1\fR یا \fB\-popo\fR \fI0\fR غیرفعال کرد. .Sp می‌توان چندین نام فایل را جداشده با کاما و/یا فاصله مشخص کرد (که در حالت اخیر کل آرگومان باید در "..." قرار گیرد). .Sp فایل‌ها تا جایی که برای تکمیل تراکنش لازم باشد و نام فایل‌ها فراهم شده باشد خوانده می‌شوند. اگر به درخواست‌های بیشتری نیاز باشد، درخواست‌های باقی‌مانده از موارد موجود در موقعیت متناظر در توالی درخواست‌های تولیدشده به صورت داخلی برداشته می‌شوند. .Sp کلاینت برای برآورده کردن بررسی‌هایی که باید توسط سرور انجام شود، نیاز دارد فیلد recipNonce را در درخواست‌های داده‌شده (به جز اولی) به‌روزرسانی کند. این امر باعث حفاظت مجدد (در صورت الزامی بودن حفاظت از درخواست‌ها) می‌شود. .IP \fB\-reqin_new_tid\fR 4 .IX Item "-reqin_new_tid" استفاده از یک transactionID تازه برای پیام‌های درخواست CMP خوانده‌شده با \fB\-reqin\fR، که باعث محافظت مجدد از آن‌ها می‌شود (اگر حفاظت از درخواست‌ها الزامی باشد). این ممکن است در حالتی لازم باشد که توالی درخواست‌ها مجدداً استفاده شود و سرور CMP اعتراض کند که شناسه تراکنش قبلاً استفاده شده است. .IP "\fB\-reqout\fR \fIfilenames\fR" 4 .IX Item "-reqout filenames" ذخیره توالی درخواست‌های CMP ایجادشده توسط کلاینت در فایل(های) داده‌شده. این درخواست‌ها در صورتی که از گزینه \fB\-reqin\fR نیز استفاده شود، به سرور ارسال نمی‌شوند. .Sp می‌توان چندین نام فایل را جداشده با کاما و/یا فاصله مشخص کرد. .Sp فایل‌ها تا جایی که برای ذخیره تراکنش لازم باشد و نام فایل‌ها ارائه شده باشد نوشته می‌شوند. اگر تراکنش شامل درخواست‌های بیشتری باشد، درخواست‌های باقی‌مانده ذخیره نخواهند شد. .IP "\fB\-reqout_only\fR \fIfilename\fR" 4 .IX Item "-reqout_only filename" ذخیره نخستین درخواست‌های CMP ایجادشده توسط کلاینت در فایل داده‌شده و خروج از برنامه. هرگونه گزینه مربوط به سرورهای CMP و پاسخ‌های آن‌ها نادیده گرفته می‌شود. این گزینه با گزینه \fB\-port\fR ترکیب نمی‌شود. .Sp این گزینه برای پشتیبانی از سناریوهای آفلاین مناسب است که در آن‌ها درخواست گواهی (یا هر درخواست CMP دیگر) از قبل تولید شده و بعداً ارسال می‌گردد. .IP "\fB\-rspin\fR \fIfilenames\fR" 4 .IX Item "-rspin filenames" پردازش توالی پاسخ‌های CMP ارائه‌شده در فایل(های) داده‌شده، بدون برقراری تماس با سرور مشخص‌شده، تا زمانی که نام فایل‌های کافی برای تکمیل تراکنش فراهم باشد. .Sp می‌توان چندین نام فایل را جداشده با کاما و/یا فاصله مشخص کرد. .Sp با هر سرور مشخص‌شده از طریق گزینه‌های \fI\-server\fR یا \fI\-use_mock_srv\fR تنها زمانی تماس گرفته می‌شود که برای تکمیل تراکنش به پاسخ‌های بیشتری نیاز باشد. در این حالت تراکنش ناموفق خواهد بود مگر آنکه سرور برای ادامه تراکنشی که قبلاً آغاز شده آماده شده باشد. .IP "\fB\-rspout\fR \fIfilenames\fR" 4 .IX Item "-rspout filenames" ذخیره توالی پاسخ‌های CMP واقعاً استفاده‌شده در فایل(های) داده‌شده. این پاسخ‌ها از سرور دریافت شده‌اند مگر آنکه \fB\-rspin\fR اعمال شود. .Sp می‌توان چندین نام فایل را جداشده با کاما و/یا فاصله مشخص کرد. .Sp فایل‌ها تا جایی که برای ذخیره پاسخ‌های موجود در تراکنش لازم باشد و نام فایل‌ها فراهم شده باشد نوشته می‌شوند. اگر تراکنش شامل پاسخ‌های بیشتری باشد، پاسخ‌های باقی‌مانده ذخیره نمی‌شوند. .IP \fB\-use_mock_srv\fR 4 .IX Item "-use_mock_srv" آزمون کلاینت با استفاده از ماک سرور CMP داخلی در سطح API، با دور زدن انتقال مبتنی بر سوکت از طریق HTTP. این گزینه مانع استفاده از گزینه‌های \fB\-server\fR و \fB\-port\fR می‌شود. .SS "گزینه‌های سرور ماک (Mock server options)" .IX Subsection "Mock server options" .IP "\fB\-port\fR \fInumber\fR" 4 .IX Item "-port number" عمل کردن به عنوان ماک سرور CMP مبتنی بر HTTP در حال گوش دادن روی پورت محلی مشخص‌شده. کلاینت ممکن است سرور را از طریق مثلاً \f(CW127.0.0.1\fR یا \f(CW\*(C`[::1]\*(C'\fR مورد خطاب قرار دهد. این گزینه مانع استفاده از گزینه‌های \fB\-server\fR و \fB\-use_mock_srv\fR می‌شود. گزینه‌های \fB\-rspin\fR، \fB\-rspout\fR، \fB\-reqin\fR و \fB\-reqout\fR تاکنون در این حالت پشتیبانی نمی‌شوند. .IP "\fB\-max_msgs\fR \fInumber\fR" 4 .IX Item "-max_msgs number" حداکثر تعداد پیام‌های (درخواست) CMP که ماک سرور HTTP مربوط به CMP باید مدیریت کند، که باید غیرمنفی باشد. مقدار پیش‌فرض 0 است که به معنای عدم اعمال محدودیت است. در هر صورت، سرور در اثر خطاهای داخلی خاتمه می‌یابد، اما زمانی که خطایی در سطح CMP تشخیص دهد که بتواند با موفقیت با یک پیام خطا به آن پاسخ دهد متوقف نمی‌شود. .IP "\fB\-srv_ref\fR \fIvalue\fR" 4 .IX Item "-srv_ref value" مقدار مرجع برای استفاده به عنوان senderKID سرور در صورتی که هیچ \fB\-srv_cert\fR داده نشده باشد. .IP "\fB\-srv_secret\fR \fIarg\fR" 4 .IX Item "-srv_secret arg" منبع رمز عبور برای احراز هویت سرور با یک کلید از پیش اشتراک‌گذاشته‌شده (secret). .IP "\fB\-srv_cert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-srv_cert filename|uri" گواهی سرور. .IP "\fB\-srv_key\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-srv_key filename|uri" کلید خصوصی مورد استفاده سرور برای امضای پیام‌ها. .IP "\fB\-srv_keypass\fR \fIarg\fR" 4 .IX Item "-srv_keypass arg" منبع عبارت عبور فایل کلید خصوصی (و گواهی) سرور. .IP "\fB\-srv_trusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-srv_trusted filenames|uris" گواهی‌های معتمد برای احراز هویت کلاینت. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR هیچ تأثیری بر اعتبارسنجی گواهی فعال‌شده از طریق این گزینه ندارند. .IP "\fB\-srv_untrusted\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-srv_untrusted filenames|uris" گواهی‌های CA میانی که ممکن است هنگام اعتبارسنجی گواهی‌های کلاینت مفید باشند. .IP "\fB\-ref_cert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-ref_cert filename|uri" گواهی مورد انتظار برای پیام‌های RR و هرگونه oldCertID در پیام‌های KUR. .IP "\fB\-rsp_cert\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_cert filename|uri" گواهی مورد بازگردانی به عنوان نتیجه ثبت‌نام ماک. .IP "\fB\-rsp_key\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_key filename|uri" کلید خصوصی مورد بازگردانی به عنوان نتیجه تولید متمرکز کلید. .IP "\fB\-rsp_keypass\fR \fIarg\fR" 4 .IX Item "-rsp_keypass arg" منبع عبارت عبور برای \fBrsp_cert\fR و \fBrsp_key\fR. .IP "\fB\-rsp_crl\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_crl filename|uri" فهرست CRL مورد بازگردانی در genp از نوع \f(CW\*(C`crls\*(C'\fR. .IP "\fB\-rsp_extracerts\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-rsp_extracerts filenames|uris" گواهی‌های اضافی برای درج در پاسخ‌های صدور گواهی ماک. .IP "\fB\-rsp_capubs\fR \fIfilenames\fR|\fIuris\fR" 4 .IX Item "-rsp_capubs filenames|uris" گواهی‌های CA برای گنجاندن در پیام پاسخ مقداردهی اولیه (IP) ماک. .IP "\fB\-rsp_newwithnew\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_newwithnew filename|uri" گواهی برای بازگردانی در فیلد newWithNew مربوط به genp از نوع rootCaKeyUpdate. .IP "\fB\-rsp_newwithold\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_newwithold filename|uri" گواهی برای بازگردانی در فیلد newWithOld مربوط به genp از نوع rootCaKeyUpdate. .IP "\fB\-rsp_oldwithnew\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-rsp_oldwithnew filename|uri" گواهی برای بازگردانی در فیلد oldWithNew مربوط به genp از نوع rootCaKeyUpdate. .IP "\fB\-poll_count\fR \fInumber\fR" 4 .IX Item "-poll_count number" تعداد دفعاتی که کلاینت پیش از دریافت گواهی باید نظرسنجی (poll) کند. .IP "\fB\-check_after\fR \fInumber\fR" 4 .IX Item "-check_after number" مقدار checkAfter (تعداد ثانیه‌های انتظار) برای درج در پاسخ نظرسنجی. .IP \fB\-grant_implicitconf\fR 4 .IX Item "-grant_implicitconf" اعطای تایید ضمنی برای گواهی تازه ثبت‌نام‌شده. .IP "\fB\-pkistatus\fR \fInumber\fR" 4 .IX Item "-pkistatus number" مقدار PKIStatus برای درج در پاسخ سرور. محدوده معتبر 0 (پذیرفته‌شده / accepted) تا 6 (هشدار به‌روزرسانی کلید / keyUpdateWarning) است. .IP "\fB\-failure\fR \fInumber\fR" 4 .IX Item "-failure number" یک شماره بیت اطلاعات شکست برای درج در پاسخ سرور. محدوده معتبر 0 (الگوریتم نامعتبر / badAlg) تا 26 (درخواست گواهی تکراری / duplicateCertReq) است. .IP "\fB\-failurebits\fR \fInumber\fR Number representing failure bits to be included in server response. Valid range is 0 .. 2^27 \- 1." 4 .IX Item "-failurebits number Number representing failure bits to be included in server response. Valid range is 0 .. 2^27 - 1." .PD 0 .IP "\fB\-statusstring\fR \fIarg\fR" 4 .IX Item "-statusstring arg" .PD متنی برای درج به عنوان رشته وضعیت در پاسخ سرور. .IP \fB\-send_error\fR 4 .IX Item "-send_error" اجبار سرور به پاسخ با پیام خطا. .IP \fB\-send_unprotected\fR 4 .IX Item "-send_unprotected" ارسال پیام‌های پاسخ بدون حفاظت در سطح CMP. .IP \fB\-send_unprot_err\fR 4 .IX Item "-send_unprot_err" در صورت وجود پاسخ‌های منفی، سرور پیام‌های خطای محافظت‌نشده، پاسخ‌های گواهی (IP/CP/KUP) و پاسخ‌های ابطال (RP) محافظت‌نشده ارسال خواهد کرد. هشدار: این تنظیم منجر به رفتاری ناقض RFC 9810 می‌شود. .IP \fB\-accept_unprotected\fR 4 .IX Item "-accept_unprotected" پذیرش حفاظت مفقود یا نامعتبر در درخواست‌ها. .IP \fB\-accept_unprot_err\fR 4 .IX Item "-accept_unprot_err" پذیرش پیام‌های خطای بدون حفاظت از کلاینت. تاکنون این گزینه اثری ندارد زیرا سرور هیچ پیام خطایی را نمی‌پذیرد. .IP \fB\-accept_raverified\fR 4 .IX Item "-accept_raverified" پذیرش RAVERIFIED به عنوان اثبات مالکیت (POPO). .SS "گزینه‌های اعتبارسنجی گواهی، برای CMP و TLS (Certificate verification options, for both CMP and TLS)" .IX Subsection "Certificate verification options, for both CMP and TLS" .IP "\fB\-allow_proxy_certs\fR, \fB\-attime\fR, \fB\-no_check_time\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR \fB\-issuer_checks\fR" 4 .IX Item "-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks" تنظیم گزینه‌های گوناگون اعتبارسنجی زنجیره گواهی. برای جزئیات به "گزینه‌های اعتبارسنجی (Verification Options)" در \fBopenssl\-verification\-options\fR\|(1) مراجعه کنید. .Sp گزینه‌های اعتبارسنجی گواهی \&\fB\-verify_hostname\fR، \fB\-verify_ip\fR و \fB\-verify_email\fR تنها بر اعتبارسنجی گواهی فعال‌شده از طریق گزینه \fB\-out_trusted\fR اثر می‌گذارند. .SH "نکات (NOTES)" .IX Header "NOTES" هنگامی که یک کلاینت از یک سرور CMP گواهی‌های CA مورد اعتماد را دریافت می‌کند، برای نمونه از طریق فیلد \f(CW\*(C`caPubs\*(C'\fR در یک پاسخ گواهی یا با استفاده از پیام‌های عمومی با infoType از نوع \f(CW\*(C`caCerts\*(C'\fR یا \f(CW\*(C`rootCaCert\*(C'\fR، احراز هویت سرور CMP از اهمیت بسیار بالایی برخوردار است. بنابراین باید در تنظیم احراز هویت سرور با استفاده از \fB\-trusted\fR و گزینه‌های مربوطه برای احراز هویت مبتنی بر گواهی یا \fB\-secret\fR برای حفاظت مبتنی بر MAC دقت ویژه‌ای به عمل آید. اگر احراز هویت مبتنی بر گواهی باشد، باید از گزینه \fB\-srvcertout\fR برای دریافت گواهی اعتبارسنجی‌شده سرور و انجام بررسی مجوز بر اساس آن استفاده شود. .PP هنگام راه‌اندازی پیکربندی‌های CMP و آزمایش گزینه‌های ثبت‌نام، معمولاً تا زمانی که پیکربندی صحیح و کامل شود، خطاهای گوناگونی رخ می‌دهد. هنگامی که سرور CMP خطایی را گزارش می‌کند، کلاینت به طور پیش‌فرض حفاظت پیام پاسخ CMP را بررسی خواهد کرد. با این حال، برخی از سرویس‌های CMP تمایلی به محافظت از پاسخ‌های منفی ندارند. در این حالت، کلاینت آن‌ها را رد می‌کند و بنابراین محتوای آن‌ها نمایش داده نمی‌شود، هرچند که معمولاً حاوی نکاتی هستند که برای عیب‌یابی مفید خواهند بود. برای کمک در چنین مواردی، کلاینت CMP از طریق گزینه \fB\-unprotected_errors\fR یک راهکار جایگزین ارائه می‌دهد که امکان پذیرش چنین پیام‌های منفی را فراهم می‌سازد. .PP اگر OpenSSL با پشتیبانی از trace فعال ساخته شده باشد (مثلاً \f(CW\*(C`./config enable\-trace\*(C'\fR) و متغیر محیطی \fBOPENSSL_TRACE\fR شامل \fBHTTP\fR باشد، درخواست‌ها و هدرهای پاسخ انتقال‌یافته از طریق HTTP چاپ می‌شوند. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" .SS "مثال‌های ساده با استفاده از فایل پیکربندی پیش‌فرض OpenSSL (Simple examples using the default OpenSSL configuration file)" .IX Subsection "Simple examples using the default OpenSSL configuration file" این پیاده‌سازی کلاینت CMP همراه با بخش‌های نمایشی CMP در فایل پیکربندی نمونه \fIopenssl/apps/openssl.cnf\fR ارائه می‌شود که می‌تواند برای تعامل آسان با Insta Demo CA استفاده شود. .PP جهت ثبت‌نام یک گواهی اولیه از آن CA، اجرای دستورات شل زیر کافی است. .PP .Vb 1 \& export OPENSSL_CONF=/path/to/openssl/apps/openssl.cnf .Ve .PP .Vb 2 \& openssl genrsa \-out insta.priv.pem \& openssl cmp \-section insta .Ve .PP این دستور باید فایل \fIinsta.cert.pem\fR حاوی یک گواهی جدید برای کلید خصوصی نگه‌داری‌شده در \fIinsta.priv.pem\fR را تولید کند. می‌توان آن را مثلاً با دستور زیر مشاهده کرد: .PP .Vb 1 \& openssl x509 \-noout \-text \-in insta.cert.pem .Ve .PP در صورتی که راه‌اندازی شبکه مستلزم استفاده از یک پراکسی HTTP باشد، می‌توان آن را طبق معمول از طریق متغیر محیطی \fBhttp_proxy\fR یا گزینه \fB\-proxy\fR در فایل پیکربندی یا آرگومان خط فرمان CMP به نام \fB\-proxy\fR مشخص کرد، برای نمونه: .PP .Vb 1 \& \-proxy http://192.168.1.1:8080 .Ve .PP در سناریوی Insta Demo CA، هم کلاینت‌ها و هم سرور می‌توانند از کلید محرمانه از پیش اشتراک‌گذاشته‌شده \fIinsta\fR و مقدار مرجع \fI3078\fR برای احراز هویت متقابل استفاده کنند. .PP به عنوان جایگزین، پیام‌های CMP را می‌توان به روش مبتنی بر امضا محافظت کرد، که در آن لنگر اعتماد در این مورد \fIinsta.ca.crt\fR است و کلاینت می‌تواند از هر گواهی که قبلاً از آن CA دریافت کرده استفاده کند، همان‌طور که در بخش \fB[signature]\fR از پیکربندی نمونه مشخص شده است. این کار را می‌توان به سادگی همراه با بخش \fB[insta]\fR استفاده کرد: .PP .Vb 1 \& openssl cmp \-section insta,signature .Ve .PP به طور پیش‌فرض نوع پیام CMP از نوع IR استفاده می‌شود، با این حال CR نیز در اینجا به همان خوبی کار می‌کند. می‌توان این مورد را مستقیماً در خط فرمان تعیین کرد: .PP .Vb 1 \& openssl cmp \-section insta \-cmd cr .Ve .PP یا با ارجاع به بخش \fB[cr]\fR در پیکربندی نمونه علاوه بر بخش قبلی: .PP .Vb 1 \& openssl cmp \-section insta,cr .Ve .PP جهت به‌روزرسانی گواهی ثبت‌نام‌شده می‌توان دستور زیر را فراخوانی کرد: .PP .Vb 1 \& openssl cmp \-section insta,kur,signature .Ve .PP با استفاده از حفاظت مبتنی بر امضا همراه با گواهی‌ای که قرار است به‌روزرسانی شود. برای به‌روزرسانی‌های گواهی، حفاظت مبتنی بر MAC عموماً نباید استفاده شود. .PP به روشی مشابه، هر گواهی از قبل ثبت‌نام‌شده را می‌توان ابطال کرد: .PP .Vb 1 \& openssl cmp \-section insta,rr \-trusted insta.ca.crt .Ve .PP یا: .PP .Vb 1 \& openssl cmp \-section insta,rr,signature .Ve .PP گزینه‌های بسیار بیشتری را می‌توان در فایل پیکربندی و/یا در خط فرمان مشخص کرد. برای نمونه، گزینه خط فرمان \fB\-reqexts\fR ممکن است به بخشی در فایل پیکربندی اشاره کند که افزونه‌های X.509 مورد استفاده در درخواست‌های گواهی را تعریف می‌کند، مانند \f(CW\*(C`v3_req\*(C'\fR در \fIopenssl/apps/openssl.cnf\fR: .PP .Vb 1 \& openssl cmp \-section insta,cr \-reqexts v3_req .Ve .SS "ثبت‌نام گواهی (Certificate enrollment)" .IX Subsection "Certificate enrollment" مثال‌های زیر در ابتدا از یک فایل پیکربندی استفاده نمی‌کنند. آن‌ها فرض می‌کنند که می‌توان با یک سرور CMP روی پورت محلی TCP 80 تماس گرفت و درخواست‌ها را تحت نام مستعار \fI/pkix/\fR می‌پذیرد. .PP برای ثبت‌نام نخستین گواهی خود، کلاینت یک کلید کلاینت تولید می‌کند و یک پیام درخواست اولیه را با استفاده از یک کلید محرمانه از پیش اشتراک‌گذاشته‌شده برای احراز هویت متقابل به سرور محلی CMP ارسال می‌نماید. در این مثال کلاینت هنوز گواهی CA را ندارد، بنابراین ما نام CA را با گزینه \fB\-recipient\fR مشخص می‌کنیم و هرگونه گواهی CA را که ممکن است دریافت کنیم در فایل \f(CW\*(C`capubs.pem\*(C'\fR ذخیره می‌نماییم. .PP در مثال‌های کاربرد خط فرمان زیر، کاراکتر \f(CW\*(C`\e\*(C'\fR در انتهای خطوط فقط برای قالب‌بندی است؛ هر یک از فراخوانی‌های دستور باید در یک خط واحد باشند. .PP .Vb 5 \& openssl genrsa \-out cl_key.pem \& openssl cmp \-cmd ir \-server 127.0.0.1:80/pkix/ \-recipient "/CN=CMPserver" \e \& \-ref 1234 \-secret pass:1234\-5678 \e \& \-newkey cl_key.pem \-subject "/CN=MyName" \e \& \-cacertsout capubs.pem \-certout cl_cert.pem .Ve .SS "به‌روزرسانی گواهی (Certificate update)" .IX Subsection "Certificate update" سپس، هنگامی که گواهی کلاینت و جفت‌کلید مربوط به آن نیاز به به‌روزرسانی دارند، کلاینت می‌تواند با در نظر گرفتن گواهی‌های موجود در \f(CW\*(C`capubs.pem\*(C'\fR به عنوان گواهی‌های معتمد جهت احراز هویت سرور و با استفاده از گواهی و کلید پیشین برای احراز هویت خود، یک درخواست به‌روزرسانی کلید ارسال کند. سپس می‌تواند شروع به استفاده از گواهی و کلید جدید نماید. .PP .Vb 6 \& openssl genrsa \-out cl_key_new.pem \& openssl cmp \-cmd kur \-server 127.0.0.1:80/pkix/ \e \& \-trusted capubs.pem \e \& \-cert cl_cert.pem \-key cl_key.pem \e \& \-newkey cl_key_new.pem \-certout cl_cert.pem \& cp cl_key_new.pem cl_key.pem .Ve .PP این توالی دستورات را می‌توان به هر تعداد دفعات لازم تکرار کرد. .SS "درخواست اطلاعات از سرور CMP (Requesting information from CMP server)" .IX Subsection "Requesting information from CMP server" درخواست "تمامی اطلاعات مرتبط" با یک پیام عمومی خالی (empty General Message). این دستور اطلاعات مربوط به تمام \fBinfoType\fRهای ITAV دریافت‌شده را در خروجی استاندارد چاپ می‌کند. .PP .Vb 2 \& openssl cmp \-cmd genm \-server 127.0.0.1/pkix/ \-recipient "/CN=CMPserver" \e \& \-ref 1234 \-secret pass:1234\-5678 .Ve .SS "استفاده از فایل پیکربندی سفارشی (Using a custom configuration file)" .IX Subsection "Using a custom configuration file" برای فراخوانی‌های کلاینت CMP، به ویژه برای ثبت‌نام گواهی، معمولاً پارامترهای زیادی باید تنظیم شوند که انجام آن در خط فرمان خسته‌کننده و مستعد خطا است. بنابراین، کلاینت این امکان را فراهم می‌کند که گزینه‌ها از بخش‌های فایل پیکربندی OpenSSL که معمولاً \fIopenssl.cnf\fR نامیده می‌شود خوانده شوند. مقادیر یافت‌شده در آنجا را می‌توان همچنان توسط بخش‌های بارگذاری‌شده بعدی و در خط فرمان گسترش داد و حتی بازنویسی کرد. .PP پس از گنجاندن بخش‌های زیر در فایل پیکربندی: .PP .Vb 8 \& [cmp] \& server = 127.0.0.1 \& path = pkix/ \& trusted = capubs.pem \& cert = cl_cert.pem \& key = cl_key.pem \& newkey = cl_key.pem \& certout = cl_cert.pem \& \& [init] \& recipient = "/CN=CMPserver" \& trusted = \& cert = \& key = \& ref = 1234 \& secret = pass:1234\-5678\-1234\-567 \& subject = "/CN=MyName" \& cacertsout = capubs.pem .Ve .PP تراکنش‌های ثبت‌نام فوق به این دستورات کاهش می‌یابند: .PP .Vb 2 \& openssl cmp \-section cmp,init \& openssl cmp \-cmd kur \-newkey cl_key_new.pem .Ve .PP و تراکنش فوق با استفاده از یک پیام عمومی به این دستور کاهش می‌یابد: .PP .Vb 1 \& openssl cmp \-section cmp,init \-cmd genm .Ve .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\-genrsa\fR\|(1), \fBopenssl\-ecparam\fR\|(1), \fBopenssl\-list\fR\|(1), \&\fBopenssl\-req\fR\|(1), \fBopenssl\-x509\fR\|(1), \fBx509v3_config\fR\|(5) .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" برنامه .B cmp در OpenSSL 3.0 اضافه شد. .PP گزینه \fB\-engine\fR در OpenSSL 3.0 منسوخ شد. .PP گزینه‌های \fB\-oldwithold\fR، \fB\-newwithnew\fR، \fB\-newwithold\fR، \fB\-oldwithnew\fR، \&\fB\-srvcertout\fR و \fB\-serial\fR در OpenSSL 3.2 اضافه شدند، و همچنین گسترش \fB\-cacertsout\fR برای استفاده هنگام دریافت گواهی‌های CA. از آن زمان، گزینه \fB\-issuer\fR ممکن است برای گواهی‌های مورد نظر جهت ابطال نیز استفاده شود. .PP گزینه‌های \fB\-profile\fR و \fB\-no_cache_extracerts\fR در OpenSSL 3.3 اضافه شدند، همچنین پشتیبانی از تحویل با تأخیر (delayed delivery) برای تمام انواع پیام‌های پاسخ. .PP گزینه‌های \fB\-template\fR، \fB\-crlcert\fR، \fB\-oldcrl\fR، \fB\-crlout\fR، \fB\-crlform\fR و \fB\-rsp_crl\fR در OpenSSL 3.4 اضافه شدند. .PP گزینه‌های \fB\-centralkeygen\fR، \fB\-newkeyout\fR، \fB\-rsp_key\fR و \&\fB\-rsp_keypass\fR در OpenSSL 3.5 اضافه شدند. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر 2007\-2026 متعلق به توسعه‌دهندگان پروژه OpenSSL است. کلیه حقوق محفوظ است. .PP تحت مجوز آپاچی نسخه 2.0 ("مجوز") مجوزدهی شده است. شما نباید از این فایل استفاده کنید مگر در انطباق با این مجوز. می‌توانید نسخه‌ای از آن را در فایل LICENSE در توزیع منبع یا در دریافت نمایید.