.\" -*- 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-CA 1ssl" .TH OPENSSL-CA 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\-ca \- برنامه ساده و کمینه مرجع صدور گواهی (CA) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBca\fR [\fB\-help\fR] [\fB\-verbose\fR] [\fB\-quiet\fR] [\fB\-config\fR \fIfilename\fR] [\fB\-name\fR \fIsection\fR] [\fB\-section\fR \fIsection\fR] [\fB\-gencrl\fR] [\fB\-revoke\fR \fIfile\fR] [\fB\-valid\fR \fIfile\fR] [\fB\-status\fR \fIserial\fR] [\fB\-updatedb\fR] [\fB\-crl_reason\fR \fIreason\fR] [\fB\-crl_hold\fR \fIinstruction\fR] [\fB\-crl_compromise\fR \fItime\fR] [\fB\-crl_CA_compromise\fR \fItime\fR] [\fB\-crl_lastupdate\fR \fIdate\fR] [\fB\-crl_nextupdate\fR \fIdate\fR] [\fB\-crldays\fR \fIdays\fR] [\fB\-crlhours\fR \fIhours\fR] [\fB\-crlsec\fR \fIseconds\fR] [\fB\-crlexts\fR \fIsection\fR] [\fB\-startdate\fR \fIdate\fR] [\fB\-not_before\fR \fIdate\fR] [\fB\-enddate\fR \fIdate\fR] [\fB\-not_after\fR \fIdate\fR] [\fB\-days\fR \fIarg\fR] [\fB\-md\fR \fIarg\fR] [\fB\-policy\fR \fIarg\fR] [\fB\-keyfile\fR \fIfilename\fR|\fIuri\fR] [\fB\-keyform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR|\fBENGINE\fR] [\fB\-key\fR \fIarg\fR] [\fB\-passin\fR \fIarg\fR] [\fB\-cert\fR \fIfile\fR] [\fB\-certform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR] [\fB\-selfsign\fR] [\fB\-in\fR \fIfile\fR] [\fB\-inform\fR \fBDER\fR|] [\fB\-out\fR \fIfile\fR] [\fB\-notext\fR] [\fB\-dateopt\fR] [\fB\-outdir\fR \fIdir\fR] [\fB\-infiles\fR] [\fB\-spkac\fR \fIfile\fR] [\fB\-ss_cert\fR \fIfile\fR] [\fB\-preserveDN\fR] [\fB\-noemailDN\fR] [\fB\-batch\fR] [\fB\-msie_hack\fR] [\fB\-extensions\fR \fIsection\fR] [\fB\-extfile\fR \fIsection\fR] [\fB\-subj\fR \fIarg\fR] [\fB\-utf8\fR] [\fB\-sigopt\fR \fInm\fR:\fIv\fR] [\fB\-vfyopt\fR \fInm\fR:\fIv\fR] [\fB\-create_serial\fR] [\fB\-rand_serial\fR] [\fB\-multivalue\-rdn\fR] [\fB\-rand\fR \fIfiles\fR] [\fB\-writerand\fR \fIfile\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] [\fIcertreq\fR...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این دستور یک برنامه مرجع صدور گواهی (CA) را شبیه‌سازی می‌کند. به‌ویژه هنگام تصمیم‌گیری برای استفاده از آن در محیط عملیاتی، بخش \fBWARNINGS\fR را مشاهده کنید. .PP این دستور گواهی‌های مبتنی بر نسخه ۳ استاندارد X.509 تولید می‌کند. مگر در مواردی که خلاف آن مشخص شده باشد، افزونه‌های شناسه کلید مطابق با آنچه در \fBx509v3_config\fR\|(5) توصیف شده است، گنجانده می‌شوند. .PP از این دستور می‌توان برای امضای درخواست‌های امضای گواهی (CSR) در قالب‌های گوناگون و ایجاد فهرست‌های ابطال گواهی (CRL) استفاده کرد. همچنین این ابزار یک پایگاه داده متنی از گواهی‌های صادرشده و وضعیت آن‌ها را نگهداری می‌کند. هنگام امضای گواهی‌ها، می‌توان یک درخواست منفرد را با گزینه \fB\-in\fR مشخص کرد، یا اینکه چندین درخواست را با تعیین مجموعه‌ای از فایل‌های \fBcertreq\fR پس از تمام گزینه‌ها پردازش نمود. .PP توجه داشته باشید که روش‌های بسیار سبک‌تری نیز برای تولید گواهی‌ها وجود دارد: دستورهای \fBreq\fR و \fBx509\fR را می‌توان برای ایجاد مستقیم گواهی‌ها استفاده کرد. برای جزئیات بیشتر به \fBopenssl\-req\fR\|(1) و \fBopenssl\-x509\fR\|(1) مراجعه کنید. .PP توضیحات گزینه‌های دستور \fBca\fR بر اساس اهداف و کاربردهای آن‌ها تقسیم‌بندی شده است. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" پیام راهنمای نحوه استفاده را چاپ می‌کند. .IP \fB\-verbose\fR 4 .IX Item "-verbose" جزئیات بیشتری را درباره عملیات در حال انجام چاپ می‌کند. .IP \fB\-quiet\fR 4 .IX Item "-quiet" جزئیات کمتری را درباره عملیات در حال انجام چاپ می‌کند که ممکن است در اسکریپت‌های دسته‌ای (batch) یا خطوط لوله (pipelines) کاربردی باشد. .IP "\fB\-config\fR \fIfilename\fR" 4 .IX Item "-config filename" فایل پیکربندی مورد استفاده را تعیین می‌کند. اختیاری است؛ برای شرح مقدار پیش‌فرض، بخش "COMMAND SUMMARY" در \fBopenssl\fR\|(1) را ببینید. .IP "\fB\-name\fR \fIsection\fR, \fB\-section\fR \fIsection\fR" 4 .IX Item "-name section, -section section" بخش فایل پیکربندی مورد استفاده را مشخص می‌کند (بر \&\fBdefault_ca\fR در بخش \fBca\fR اولویت دارد و آن را بازنویسی می‌کند). .IP "\fB\-in\fR \fIfilename\fR" 4 .IX Item "-in filename" نام فایل ورودی حاوی یک درخواست گواهی (CSR) تکی جهت امضا توسط CA. .IP "\fB\-inform\fR \fBDER\fR|\fBPEM\fR" 4 .IX Item "-inform DER|PEM" قالب مورد استفاده هنگام بارگذاری فایل‌های ورودی درخواست گواهی (CSR)؛ به‌طور پیش‌فرض ابتدا PEM آزموده می‌شود. برای جزئیات \fBopenssl\-format\-options\fR\|(1) را ببینید. .IP "\fB\-ss_cert\fR \fIfilename\fR" 4 .IX Item "-ss_cert filename" یک گواهی خودامضا تکی جهت امضا شدن توسط CA. .IP "\fB\-spkac\fR \fIfilename\fR" 4 .IX Item "-spkac filename" فایلی حاوی یک کلید عمومی امضاشده نت‌اسکیپ و چالش (challenge) و مقادیر فیلدهای اضافی برای امضا توسط CA. برای اطلاعات درباره قالب ورودی و خروجی مورد نیاز، بخش \fBSPKAC FORMAT\fR را ببینید. .IP \fB\-infiles\fR 4 .IX Item "-infiles" در صورت حضور باید آخرین گزینه باشد، تمام آرگومان‌های پس از آن به‌عنوان نام فایل‌های حاوی درخواست‌های گواهی در نظر گرفته می‌شوند. .IP "\fB\-out\fR \fIfilename\fR" 4 .IX Item "-out filename" فایل خروجی برای نوشتن گواهی‌ها در آن. مقدار پیش‌فرض، خروجی استاندارد است. جزئیات گواهی نیز با قالب PEM در این فایل چاپ خواهد شد (به جز اینکه \fB\-spkac\fR با قالب DER خروجی می‌دهد). .IP "\fB\-outdir\fR \fIdirectory\fR" 4 .IX Item "-outdir directory" دایرکتوری / پوشه خروجی برای نوشتن گواهی‌ها در آن. گواهی در فایلی نوشته خواهد شد که نام آن از شماره سریال به مبنای ۱۶ (هگز) به همراه پسوند \&\fI.pem\fR تشکیل شده است. .IP "\fB\-cert\fR \fIfilename\fR" 4 .IX Item "-cert filename" گواهی CA، که باید با \fB\-keyfile\fR مطابقت داشته باشد. .IP "\fB\-certform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR" 4 .IX Item "-certform DER|PEM|P12" قالب داده‌ها در فایل‌های ورودی گواهی؛ به‌طور پیش‌فرض تعیین‌نشده است. برای جزئیات \fBopenssl\-format\-options\fR\|(1) را ببینید. .IP "\fB\-keyfile\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-keyfile filename|uri" کلید خصوصی CA برای امضا کردن درخواست‌های گواهی. این باید با \fB\-cert\fR مطابقت داشته باشد. .IP "\fB\-keyform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR|\fBENGINE\fR" 4 .IX Item "-keyform DER|PEM|P12|ENGINE" قالب فایل ورودی کلید خصوصی؛ به‌طور پیش‌فرض تعیین‌نشده است. برای جزئیات \fBopenssl\-format\-options\fR\|(1) را ببینید. .IP "\fB\-sigopt\fR \fInm\fR:\fIv\fR" 4 .IX Item "-sigopt nm:v" ارسال گزینه‌ها به الگوریتم امضا در طول عملیات امضا. نام‌ها و مقادیر این گزینه‌ها مختص الگوریتم هستند و در بخش "Signature parameters" در \fBprovider\-signature\fR\|(7) مستند شده‌اند. .IP "\fB\-vfyopt\fR \fInm\fR:\fIv\fR" 4 .IX Item "-vfyopt nm:v" ارسال گزینه‌ها به الگوریتم امضا در طول عملیات راستی‌آزمایی (verify). نام‌ها و مقادیر این گزینه‌ها مختص الگوریتم هستند. .Sp این گزینه اغلب در زمان امضا نیز باید مشخص شود، زیرا امضای خودیِ یک درخواست گواهی (CSR) در برابر کلید عمومی موجود در آن راستی‌آزمایی می‌شود، و آن راستی‌آزمایی ممکن است به گزینه‌های مختص خود نیاز داشته باشد. .IP "\fB\-key\fR \fIpassword\fR" 4 .IX Item "-key password" گذرواژه مورد استفاده برای رمزگذاری کلید خصوصی. از آنجا که در برخی سیستم‌ها آرگومان‌های خط فرمان قابل مشاهده هستند (مثلاً هنگام استفاده از \&\fBps\fR\|(1) در یونیکس)، این گزینه باید با احتیاط استفاده شود. بهتر است از \fB\-passin\fR استفاده شود. .IP "\fB\-passin\fR \fIarg\fR" 4 .IX Item "-passin arg" منبع گذرواژه کلید برای فایل‌های کلید و فایل‌های PKCS#12 گواهی. برای اطلاعات بیشتر درباره قالب \fBarg\fR به \fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP \fB\-selfsign\fR 4 .IX Item "-selfsign" نشان می‌دهد که گواهی‌های صادرشده باید با همان کلیدی امضا شوند که درخواست‌های گواهی با آن امضا شده بودند (ارائه‌شده با \fB\-keyfile\fR). درخواست‌های گواهی امضاشده با کلیدی متفاوت نادیده گرفته می‌شوند. در صورت ارائه \fB\-spkac\fR، \fB\-ss_cert\fR یا \fB\-gencrl\fR، گزینه \fB\-selfsign\fR نادیده گرفته می‌شود. .Sp پیامد استفاده از \fB\-selfsign\fR این است که گواهی خودامضا در میان رکوردهای پایگاه داده گواهی ظاهر می‌شود (گزینه پیکربندی \fBdatabase\fR را ببینید)، و از همان شمارنده شماره سریال سایر گواهی‌های امضاشده با گواهی خودامضا استفاده می‌کند. .IP \fB\-notext\fR 4 .IX Item "-notext" از نوشتن شکل متنی گواهی در فایل خروجی خودداری می‌کند. .IP \fB\-dateopt\fR 4 .IX Item "-dateopt" قالب تاریخ خروجی را مشخص می‌کند. مقادیر عبارتند از: rfc_822 و iso_8601. پیش‌فرض، rfc_822 است. .IP "\fB\-startdate\fR \fIdate\fR, \fB\-not_before\fR \fIdate\fR" 4 .IX Item "-startdate date, -not_before date" این گزینه امکان تنظیم صریح تاریخ شروع را فراهم می‌کند. قالب تاریخ به‌صورت YYMMDDHHMMSSZ (مشابه ساختار ASN1 UTCTime) یا YYYYMMDDHHMMSSZ (مشابه ساختار ASN1 GeneralizedTime) است. در هر دو قالب، ثانیه‌های SS و منطقه زمانی Z باید حضور داشته باشند. به‌عنوان روش جایگزین، می‌توانید از "today" نیز استفاده کنید. .IP "\fB\-enddate\fR \fIdate\fR, \fB\-not_after\fR \fIdate\fR" 4 .IX Item "-enddate date, -not_after date" این گزینه امکان تنظیم صریح تاریخ انقضا را فراهم می‌کند. قالب تاریخ به‌صورت YYMMDDHHMMSSZ (مشابه ساختار ASN1 UTCTime) یا YYYYMMDDHHMMSSZ (مشابه ساختار ASN1 GeneralizedTime) است. در هر دو قالب، ثانیه‌های SS و منطقه زمانی Z باید حضور داشته باشند. به‌عنوان روش جایگزین، می‌توانید از "today" نیز استفاده کنید. .Sp این گزینه بر گزینه \fB\-days\fR تقدم دارد و آن را نادیده می‌گیرد. .IP "\fB\-days\fR \fIarg\fR" 4 .IX Item "-days arg" تعداد روزهایی از امروز که گواهی برای آن مدت تأیید و صادر می‌شود. .Sp صرف‌نظر از گزینه \fB\-not_before\fR، روزها همیشه از امروز شمارش می‌شوند. هنگامی که همراه با گزینه \fB\-not_after\fR/\fB\-startdate\fR استفاده شود، تاریخ انقضای صریح اولویت دارد. .IP "\fB\-md\fR \fIalg\fR" 4 .IX Item "-md alg" خلاصه پیام (Digest) مورد استفاده. هر خلاصه پیامی (digest) که توسط دستور \fBopenssl\-dgst\fR\|(1) پشتیبانی شود می‌تواند مورد استفاده قرار گیرد. برای الگوریتم‌های امضایی که از خلاصه پیام پشتیبانی نمی‌کنند (مانند Ed25519 و Ed448)، هر خلاصه پیام تنظیم‌شده‌ای نادیده گرفته می‌شود. این گزینه در مورد CRLها نیز اعمال می‌شود. .IP "\fB\-policy\fR \fIarg\fR" 4 .IX Item "-policy arg" این گزینه «خط‌مشی» (policy) مربوط به CA را برای استفاده تعریف می‌کند. این بخش، بخشی در پرونده پیکربندی است که تعیین می‌کند کدام فیلدها باید اجباری باشند یا با گواهی CA مطابقت داشته باشند. برای اطلاعات بیشتر، بخش \fBPOLICY FORMAT\fR را بررسی کنید. .IP \fB\-msie_hack\fR 4 .IX Item "-msie_hack" این گزینه‌ای منسوخ‌شده است تا این دستور بتواند با نسخه‌های بسیار قدیمی کنترل ثبت گواهی اینترنت اکسپلورر (IE) با عنوان "certenr3" کار کند. این کنترل تقریباً برای همه چیز از UniversalStringها استفاده می‌کرد. از آنجا که این کنترل قدیمی دارای اشکالات امنیتی گوناگونی است، استفاده از آن اکیداً توصیه نمی‌شود. .IP \fB\-preserveDN\fR 4 .IX Item "-preserveDN" به‌طور معمول ترتیب فیلدهای نام متمایز (DN) یک گواهی با ترتیب فیلدها در بخش خط‌مشی (policy) مربوطه یکسان است. هنگامی که این گزینه تنظیم شود، ترتیب فیلدها مشابه درخواست خواهد بود. این ویژگی عمدتاً برای سازگاری با کنترل ثبت قدیمی‌تر IE است که تنها در صورتی گواهی‌ها را می‌پذیرفت که DNهای آن‌ها با ترتیب درخواست مطابقت داشتند. این مورد برای Xenroll لازم نیست. .IP \fB\-noemailDN\fR 4 .IX Item "-noemailDN" نام متمایز (DN) یک گواهی می‌تواند شامل فیلد EMAIL باشد، در صورتی که در DN درخواست وجود داشته باشد؛ با این حال، خط‌مشی مناسب این است که رایانامه (e\-mail) تنها در افزونه altName گواهی تنظیم شود. هنگامی که این گزینه تنظیم شود، فیلد EMAIL از موضوع (Subject) گواهی حذف شده و تنها در افزونه‌های موجود (در صورت وجود) تنظیم می‌گردد. کلیدواژه \fBemail_in_dn\fR می‌تواند در پرونده پیکربندی برای فعال‌سازی این رفتار استفاده شود. .IP \fB\-batch\fR 4 .IX Item "-batch" این گزینه حالت دسته‌ای (batch mode) را تنظیم می‌کند. در این حالت هیچ سؤالی پرسیده نخواهد شد و تمام گواهی‌ها به‌طور خودکار تأیید و صادر می‌شوند. .IP "\fB\-extensions\fR \fIsection\fR" 4 .IX Item "-extensions section" بخشی از پرونده پیکربندی حاوی افزونه‌های گواهی (certificate extensions) که هنگام صدور گواهی افزوده می‌شوند (پیش‌فرض آن \fBx509_extensions\fR است، مگر آنکه گزینه \fB\-extfile\fR استفاده شود). .Sp برای جزئیات قالب بخش افزونه‌ها، به صفحه راهنمای \fBx509v3_config\fR\|(5) مراجعه کنید. .IP "\fB\-extfile\fR \fIfile\fR" 4 .IX Item "-extfile file" یک پرونده پیکربندی اضافی برای خواندن افزونه‌های گواهی از آن (که از بخش پیش‌فرض استفاده می‌کند مگر آنکه گزینه \fB\-extensions\fR نیز استفاده شده باشد). .IP "\fB\-subj\fR \fIarg\fR" 4 .IX Item "-subj arg" نام موضوع (Subject) ارائه‌شده در درخواست را جایگزین می‌کند. .Sp آرگومان باید به‌صورت \f(CW\*(C`/type0=value0/type1=value1/type2=...\*(C'\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\-utf8\fR 4 .IX Item "-utf8" این گزینه باعث می‌شود که مقادیر فیلدها به‌عنوان رشته‌های UTF8 تفسیر شوند؛ به‌طور پیش‌فرض آن‌ها به‌عنوان ASCII تفسیر می‌شوند. این بدان معناست که مقادیر فیلدها، چه از طریق ترمینال پرسیده شده باشند و چه از یک پرونده پیکربندی دریافت شوند، باید رشته‌های معتبر UTF8 باشند. .IP \fB\-create_serial\fR 4 .IX Item "-create_serial" اگر خواندن شماره سریال از پرونده متنی مشخص‌شده در پیکربندی با شکست مواجه شود، مشخص کردن این گزینه یک شماره سریال تصادفی جدید ایجاد می‌کند تا به‌عنوان شماره سریال بعدی استفاده شود. برای به‌دست آوردن شماره سریال‌های تصادفی، به‌جای آن از فلگ \fB\-rand_serial\fR استفاده کنید؛ این گزینه تنها باید برای بازیابی ساده از خطا استفاده شود. .IP \fB\-rand_serial\fR 4 .IX Item "-rand_serial" یک عدد تصادفی بزرگ برای استفاده به‌عنوان شماره سریال تولید می‌کند. این گزینه بر هر گزینه یا پیکربندی دیگری برای استفاده از پرونده شماره سریال اولویت دارد. .IP \fB\-multivalue\-rdn\fR 4 .IX Item "-multivalue-rdn" این گزینه منسوخ شده است و هیچ اثری ندارد. .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) مراجعه کنید. .SH "گزینه‌های فهرست ابطال گواهی (CRL OPTIONS)" .IX Header "CRL OPTIONS" .IP \fB\-gencrl\fR 4 .IX Item "-gencrl" این گزینه بر اساس اطلاعات موجود در فایل نمایه، یک فهرست ابطال گواهی (CRL) تولید می‌کند. .IP "\fB\-crl_lastupdate\fR \fItime\fR" 4 .IX Item "-crl_lastupdate time" امکان تنظیم صریح مقدار فیلد lastUpdate مربوط به CRL را فراهم می‌کند؛ اگر این گزینه مشخص نشود، از زمان جاری استفاده می‌شود. این گزینه زمان را در قالب YYMMDDHHMMSSZ (مشابه ساختار ASN1 UTCTime) یا قالب YYYYMMDDHHMMSSZ (مشابه ساختار ASN1 GeneralizedTime) می‌پذیرد. .IP "\fB\-crl_nextupdate\fR \fItime\fR" 4 .IX Item "-crl_nextupdate time" امکان تنظیم صریح مقدار فیلد nextUpdate مربوط به CRL را فراهم می‌کند؛ اگر این گزینه مشخص شود، هر مقداری که برای \fB\-crldays\fR، \fB\-crlhours\fR و \fB\-crlsec\fR تعیین شده باشد نادیده گرفته می‌شود. این گزینه زمان را در همان قالب‌های \&\fB\-crl_lastupdate\fR می‌پذیرد. .IP "\fB\-crldays\fR \fInum\fR" 4 .IX Item "-crldays num" تعداد روزهای باقی‌مانده تا سررسید CRL بعدی. یعنی تعداد روزها از زمان فعلی برای قرار دادن در فیلد nextUpdate در CRL. .IP "\fB\-crlhours\fR \fInum\fR" 4 .IX Item "-crlhours num" تعداد ساعت‌های باقی‌مانده تا سررسید CRL بعدی. .IP "\fB\-crlsec\fR \fInum\fR" 4 .IX Item "-crlsec num" تعداد ثانیه‌های باقی‌مانده تا سررسید CRL بعدی. .IP "\fB\-revoke\fR \fIfilename\fR" 4 .IX Item "-revoke filename" نام فایلی که حاوی گواهی جهت ابطال است. .IP "\fB\-valid\fR \fIfilename\fR" 4 .IX Item "-valid filename" نام فایلی حاوی یک گواهی برای افزودن مدخل یک گواهی معتبر (Valid). .IP "\fB\-status\fR \fIserial\fR" 4 .IX Item "-status serial" وضعیت ابطال گواهی با شماره سریال مشخص‌شده را نمایش می‌دهد و خارج می‌شود. .IP \fB\-updatedb\fR 4 .IX Item "-updatedb" نمایه پایگاه‌داده را برای پاکسازی گواهی‌های منقضی‌شده به‌روزرسانی می‌کند. .IP "\fB\-crl_reason\fR \fIreason\fR" 4 .IX Item "-crl_reason reason" دلیل ابطال، که در آن \fIreason\fR یکی از موارد زیر است: \fBunspecified\fR، \fBkeyCompromise\fR، \&\fBCACompromise\fR، \fBaffiliationChanged\fR، \fBsuperseded\fR، \fBcessationOfOperation\fR، \&\fBcertificateHold\fR یا \fBremoveFromCRL\fR. تطابق \fIreason\fR به بزرگی و کوچکی حروف حساس نیست. تنظیم هر دلیل ابطالی باعث می‌شود CRL از نوع نسخه ۲ (v2) شود. .Sp در عمل \fBremoveFromCRL\fR کاربرد چندانی ندارد زیرا تنها در CRLهای دلتا (delta CRL) استفاده می‌شود که در حال حاضر پیاده‌سازی نشده‌اند. .IP "\fB\-crl_hold\fR \fIinstruction\fR" 4 .IX Item "-crl_hold instruction" این گزینه کد دلیل ابطال CRL را روی \fBcertificateHold\fR و دستورالعمل تعلیق (hold instruction) را روی \fIinstruction\fR تنظیم می‌کند که باید یک شناسه شیء (OID) باشد. اگرچه هر OIDای می‌تواند استفاده شود، اما معمولاً تنها از \fBholdInstructionNone\fR (که استفاده از آن در RFC 5280 منسوخ شده است)، \&\fBholdInstructionCallIssuer\fR یا \fBholdInstructionReject\fR استفاده می‌شود. .IP "\fB\-crl_compromise\fR \fItime\fR" 4 .IX Item "-crl_compromise time" این گزینه دلیل ابطال را روی \fBkeyCompromise\fR و زمان افشا/به‌خطر‌افتادن کلید را روی \&\fItime\fR تنظیم می‌کند. مقدار \fItime\fR باید در قالب GeneralizedTime یعنی به صورت \fIYYYYMMDDHHMMSSZ\fR باشد. .IP "\fB\-crl_CA_compromise\fR \fItime\fR" 4 .IX Item "-crl_CA_compromise time" مشابه \fBcrl_compromise\fR است، با این تفاوت که دلیل ابطال روی \&\fBCACompromise\fR تنظیم می‌شود. .IP "\fB\-crlexts\fR \fIsection\fR" 4 .IX Item "-crlexts section" بخشی از فایل پیکربندی که حاوی افزونه‌های CRL برای گنجاندن است. اگر هیچ بخش افزونه CRLای وجود نداشته باشد، یک CRL نسخه ۱ (V1) ایجاد می‌شود؛ اگر بخش افزونه‌های CRL موجود باشد (حتی اگر خالی باشد)، آنگاه یک CRL نسخه ۲ (V2) ایجاد می‌شود. افزونه‌های CRL مشخص‌شده از نوع افزونه‌های CRL هستند و \fBنه\fR افزونه‌های مدخل CRL. باید توجه داشت که برخی از نرم‌افزارها (برای مثال Netscape) نمی‌توانند CRLهای V2 را پشتیبانی کنند. برای جزئیات قالب بخش افزونه، صفحه راهنمای \&\fBx509v3_config\fR\|(5) را ببینید. .SH "گزینه‌های فایل پیکربندی (CONFIGURATION FILE OPTIONS)" .IX Header "CONFIGURATION FILE OPTIONS" بخشی از فایل پیکربندی که شامل گزینه‌های این دستور است به شرح زیر مشخص می‌شود: اگر گزینه خط فرمان \fB\-name\fR استفاده شود، نام بخشی که باید استفاده شود را تعیین می‌کند. در غیر این صورت بخشی که باید استفاده شود باید در گزینه \fBdefault_ca\fR از بخش \fBca\fR در فایل پیکربندی (یا در بخش پیش‌فرض فایل پیکربندی) مشخص شده باشد. علاوه بر \fBdefault_ca\fR، گزینه‌های زیر مستقیماً از بخش \fBca\fR خوانده می‌شوند: RANDFILE preserve msie_hack به استثنای \fBRANDFILE\fR، این مورد احتمالاً یک اشکال است و ممکن است در انتشارها و نسخه‌های بعدی تغییر کند. .PP بسیاری از گزینه‌های فایل پیکربندی با گزینه‌های خط فرمان یکسان هستند. در مواردی که گزینه هم در فایل پیکربندی و هم در خط فرمان وجود داشته باشد، مقدار ارائه‌شده در خط فرمان استفاده می‌شود. در جایی که یک گزینه به عنوان الزامی توصیف شده است، باید در فایل پیکربندی حضور داشته باشد یا از معادل خط فرمان آن (در صورت وجود) استفاده شود. .IP \fBoid_file\fR 4 .IX Item "oid_file" این گزینه فایلی را مشخص می‌کند که حاوی \fBOBJECT IDENTIFIERS\fR (شناسه‌های شیء) اضافی است. هر خط از فایل باید شامل شکل عددی شناسه شیء و به دنبال آن نویسه فاصله، سپس نام کوتاه و به دنبال آن نویسه فاصله و در نهایت نام کامل باشد. .IP \fBoid_section\fR 4 .IX Item "oid_section" این گزینه بخشی را در فایل پیکربندی مشخص می‌کند که حاوی شناسه‌های شیء اضافی است. هر خط باید از نام کوتاه شناسه شیء به همراه \fB=\fR و شکل عددی تشکیل شود. هنگام استفاده از این گزینه، نام کوتاه و نام کامل یکسان خواهند بود. .IP \fBnew_certs_dir\fR 4 .IX Item "new_certs_dir" مشابه گزینه خط فرمان \fB\-outdir\fR است. دایرکتوری محل قرارگیری گواهی‌های جدید را مشخص می‌کند. الزامی است. .IP \fBcertificate\fR 4 .IX Item "certificate" مشابه گزینه \fB\-cert\fR است. فایلی را که حاوی گواهی CA است ارائه می‌دهد. الزامی است. .IP \fBprivate_key\fR 4 .IX Item "private_key" مشابه گزینه \fB\-keyfile\fR است. فایلی که حاوی کلید خصوصی CA است. الزامی است. .IP \fBRANDFILE\fR 4 .IX Item "RANDFILE" در هنگام راه‌اندازی، فایل مشخص‌شده در مولد اعداد تصادفی بارگذاری می‌شود و هنگام خروج ۲۵۶ بایت در آن نوشته خواهد شد. (توجه: استفاده از RANDFILE دیگر ضروری نیست، بخش "HISTORY" را ببینید). .IP \fBdefault_days\fR 4 .IX Item "default_days" مشابه گزینه \fB\-days\fR است. تعداد روزها از امروز برای تعیین مدت اعتبار صدور گواهی. .IP \fBdefault_startdate\fR 4 .IX Item "default_startdate" مشابه گزینه \fB\-startdate\fR است. تاریخ شروع اعتبار برای صدور گواهی. در صورت عدم تنظیم، از زمان جاری استفاده می‌شود. .IP \fBdefault_enddate\fR 4 .IX Item "default_enddate" مشابه گزینه \fB\-enddate\fR است. وجود این گزینه یا \&\fBdefault_days\fR (یا معادل‌های خط فرمان آن‌ها) الزامی است. .IP "\fBdefault_crl_hours default_crl_days\fR" 4 .IX Item "default_crl_hours default_crl_days" مشابه گزینه‌های \fB\-crlhours\fR و \fB\-crldays\fR است. این موارد تنها در صورتی استفاده خواهند شد که هیچ‌یک از گزینه‌های خط فرمان مشخص نشده باشند. برای تولید یک CRL، حداقل یکی از این گزینه‌ها باید وجود داشته باشد. .IP \fBdefault_md\fR 4 .IX Item "default_md" مشابه گزینه \fB\-md\fR است. الزامی است، به جز مواردی که الگوریتم امضا نیازی به چکیده (digest) نداشته باشد (مانند Ed25519 و Ed448). .IP \fBdatabase\fR 4 .IX Item "database" فایل متنی پایگاه داده برای استفاده. الزامی است. این فایل باید وجود داشته باشد اگرچه در ابتدا خالی خواهد بود. .IP \fBunique_subject\fR 4 .IX Item "unique_subject" اگر مقدار \fByes\fR داده شود، ورودی‌های معتبر گواهی در پایگاه داده باید دارای موضوع یکتا (unique subject) باشند. اگر مقدار \fBno\fR داده شود، چندین ورودی معتبر گواهی ممکن است دقیقاً دارای یک موضوع مشابه باشند. مقدار پیش‌فرض جهت سازگاری با نسخه‌های قدیمی‌تر OpenSSL (پیش از 0.9.8)، \fByes\fR است. با این حال، برای آسان‌تر کردن جایگزینی / تمدید دوره‌ای (roll\-over) گواهی CA، توصیه می‌شود از مقدار \fBno\fR استفاده شود، به‌ویژه اگر با گزینه خط فرمان \fB\-selfsign\fR ترکیب شده باشد. .Sp توجه داشته باشید که در برخی شرایط، ایجاد گواهی‌ها بدون هیچ‌گونه موضوعی معتبر است. در حالتی که چندین گواهی بدون موضوع وجود داشته باشد، این مورد به عنوان تکراری محسوب نمی‌شود. .IP \fBserial\fR 4 .IX Item "serial" یک فایل متنی حاوی شماره سریال بعدی برای استفاده در مبنای شانزده (hex). الزامی است. این فایل باید وجود داشته باشد و شامل یک شماره سریال معتبر باشد. .IP \fBcrlnumber\fR 4 .IX Item "crlnumber" یک فایل متنی حاوی شماره CRL بعدی برای استفاده در مبنای شانزده (hex). شماره CRL تنها در صورتی در CRLها درج خواهد شد که این فایل وجود داشته باشد. اگر این فایل موجود باشد، باید حاوی یک شماره CRL معتبر باشد. .IP \fBx509_extensions\fR 4 .IX Item "x509_extensions" یک جایگزین پیش‌فرض برای گزینه \fB\-extensions\fR. .IP \fBcrl_extensions\fR 4 .IX Item "crl_extensions" یک جایگزین پیش‌فرض برای گزینه \fB\-crlexts\fR. .IP \fBpreserve\fR 4 .IX Item "preserve" مشابه گزینه \fB\-preserveDN\fR است. .IP \fBemail_in_dn\fR 4 .IX Item "email_in_dn" مشابه گزینه \fB\-noemailDN\fR است. اگر می‌خواهید فیلد EMAIL از DN گواهی حذف شود، کافی است این گزینه را روی \*(Aqno\*(Aq تنظیم کنید. در صورت عدم وجود، حالت پیش‌فرض این است که فیلد EMAIL در DN گواهی مجاز باشد. .IP \fBmsie_hack\fR 4 .IX Item "msie_hack" مشابه گزینه \fB\-msie_hack\fR است. .IP \fBpolicy\fR 4 .IX Item "policy" مشابه گزینه \fB\-policy\fR است. الزامی است. برای اطلاعات بیشتر بخش \fBPOLICY FORMAT\fR را ببینید. .IP "\fBname_opt\fR, \fBcert_opt\fR" 4 .IX Item "name_opt, cert_opt" این گزینه‌ها قالبی را مشخص می‌کنند که برای نمایش جزئیات گواهی هنگام درخواست تایید امضا از کاربر استفاده می‌شود. تمام گزینه‌های پشتیبانی‌شده توسط سوییچ‌های \fB\-nameopt\fR و \fB\-certopt\fR در ابزار \fBx509\fR را می‌توان در اینجا استفاده کرد، به جز \fBno_signame\fR و \fBno_sigdump\fR که به طور دائم تنظیم شده‌اند و نمی‌توان آن‌ها را غیرفعال کرد (زیرا امضای گواهی در این مرحله قابل نمایش نیست، چرا که گواهی هنوز امضا نشده است). .Sp برای سهولت، مقدار \fBca_default\fR توسط هر دو گزینه پذیرفته می‌شود تا خروجی مناسبی تولید شود. .Sp اگر هیچ‌یک از این دو گزینه مشخص نشده باشد، از قالبی که در نسخه‌های قدیمی‌تر OpenSSL وجود داشت استفاده می‌شود. استفاده از قالب قدیمی \fBاکیداً\fR منع شده است زیرا تنها فیلدهای ذکرشده در بخش \fBpolicy\fR را نمایش می‌دهد، انواع رشته‌های چندکاراکتری را به نادرستی پردازش می‌کند و افزونه‌ها را نمایش نمی‌دهد. .IP \fBcopy_extensions\fR 4 .IX Item "copy_extensions" نحوه برخورد با افزونه‌ها در درخواست‌های گواهی را تعیین می‌کند. اگر روی \fBnone\fR تنظیم شود یا این گزینه مشخص نشده باشد، افزونه‌ها نادیده گرفته شده و در گواهی رونوشت نمی‌شوند. اگر روی \fBcopy\fR تنظیم شود، هر افزونه موجود در درخواست که قبلاً در گواهی وجود نداشته باشد، به گواهی رونوشت می‌شود. اگر روی \fBcopyall\fR تنظیم شود، تمامی افزونه‌های موجود در درخواست به گواهی رونوشت می‌شوند: اگر افزونه از قبل در گواهی وجود داشته باشد، ابتدا حذف می‌شود. پیش از استفاده از این گزینه بخش \fBWARNINGS\fR را مطالعه کنید. .Sp کاربرد اصلی این گزینه این است که به درخواست گواهی اجازه می‌دهد مقادیری را برای افزونه‌های خاصی مانند subjectAltName ارائه دهد. .SH "قالب خط‌مشی (POLICY FORMAT)" .IX Header "POLICY FORMAT" بخش خط‌مشی شامل مجموعه‌ای از متغیرهای متناظر با فیلدهای DN گواهی است. اگر مقدار "match" باشد، مقدار فیلد باید دقیقاً با همان فیلد در گواهی CA یکسان باشد. اگر مقدار "supplied" باشد، باید حتماً وجود داشته باشد. اگر مقدار "optional" باشد، وجود آن اختیاری است. هر فیلدی که در بخش خط‌مشی ذکر نشده باشد، به صورت بی‌صدا حذف می‌شود، مگر اینکه گزینه \fB\-preserveDN\fR تنظیم شده باشد که این مورد را نیز بیشتر می‌توان یک رفتار غیرمنتظره و عجیب در نظر گرفت تا یک عملکرد هدفمند. .SH "قالب SPKAC (SPKAC FORMAT)" .IX Header "SPKAC FORMAT" ورودی گزینه خط فرمان \fB\-spkac\fR یک کلید عمومی امضاشده و چالش نت‌اسکیپ (SPKAC) است. این ورودی معمولاً از تگ \fBKEYGEN\fR در یک فرم HTML برای ایجاد یک کلید خصوصی جدید حاصل می‌شود. با این حال، ایجاد SPKACها با استفاده از \fBopenssl\-spkac\fR\|(1) نیز امکان‌پذیر است. .PP این فایل باید حاوی متغیر SPKAC باشد که مقدار آن برابر با SPKAC قرار گرفته است و همچنین شامل مؤلفه‌های مورد نیاز DN به صورت جفت‌های نام و مقدار باشد. اگر لازم است مؤلفه‌ای یکسان را دو بار بگنجانید، می‌توان یک عدد و یک \*(Aq.\*(Aq را پیش از آن قرار داد. .PP هنگام پردازش قالب SPKAC، در صورت استفاده از فلگ \fB\-out\fR خروجی به صورت DER خواهد بود، اما در صورت ارسال به خروجی استاندارد (stdout) یا استفاده از فلگ \fB\-outdir\fR، قالب خروجی PEM خواهد بود. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" نکته: این مثال‌ها فرض می‌کنند که ساختار دایرکتوری مورد انتظار این دستور از قبل برپا شده و فایل‌های مربوطه از قبل وجود دارند. این کار معمولاً شامل ایجاد یک گواهی CA و کلید خصوصی با \&\fBopenssl\-req\fR\|(1)، یک فایل شماره سریال و یک فایل نمایه خالی و قرار دادن آن‌ها در دایرکتوری‌های مربوطه است. .PP برای استفاده از فایل پیکربندی نمونه زیر، دایرکتوری‌های \fIdemoCA\fR، \&\fIdemoCA/private\fR و \fIdemoCA/newcerts\fR ایجاد می‌شوند. گواهی CA در \fIdemoCA/cacert.pem\fR و کلید خصوصی آن در \fIdemoCA/private/cakey.pem\fR کپی می‌شود. یک فایل \fIdemoCA/serial\fR ایجاد می‌شود که برای مثال حاوی "01" و فایل نمایه خالی \&\fIdemoCA/index.txt\fR خواهد بود. .PP امضای یک درخواست گواهی: .PP .Vb 1 \& openssl ca \-in req.pem \-out newcert.pem .Ve .PP امضای یک درخواست گواهی SM2: .PP .Vb 3 \& openssl ca \-in sm2.csr \-out sm2.crt \-md sm3 \e \& \-sigopt "distid:1234567812345678" \e \& \-vfyopt "distid:1234567812345678" .Ve .PP امضای یک درخواست گواهی با استفاده از افزونه‌های CA: .PP .Vb 1 \& openssl ca \-in req.pem \-extensions v3_ca \-out newcert.pem .Ve .PP تولید یک فهرست ابطال گواهی (CRL): .PP .Vb 1 \& openssl ca \-gencrl \-out crl.pem .Ve .PP امضای چندین درخواست: .PP .Vb 1 \& openssl ca \-infiles req1.pem req2.pem req3.pem .Ve .PP صدور گواهی برای یک SPKAC نت‌اسکیپ: .PP .Vb 1 \& openssl ca \-spkac spkac.txt .Ve .PP یک فایل نمونه SPKAC (خط SPKAC برای وضوح بیشتر کوتاه شده است): .PP .Vb 5 \& SPKAC=MIG0MGAwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAn7PDhCeV/xIxUg8V70YRxK2A5 \& CN=Steve Test \& emailAddress=steve@openssl.org \& 0.OU=OpenSSL Group \& 1.OU=Another Group .Ve .PP یک فایل پیکربندی نمونه با بخش‌های مربوطه برای این دستور: .PP .Vb 2 \& [ ca ] \& default_ca = CA_default # The default ca section \& \& [ CA_default ] \& \& dir = ./demoCA # top dir \& database = $dir/index.txt # index file. \& new_certs_dir = $dir/newcerts # new certs dir \& \& certificate = $dir/cacert.pem # The CA cert \& serial = $dir/serial # serial no file \& #rand_serial = yes # for random serial#\*(Aqs \& private_key = $dir/private/cakey.pem# CA private key \& \& default_days = 365 # how long to certify for \& default_crl_days= 30 # how long before next CRL \& default_md = sha256 # md to use \& \& policy = policy_any # default policy \& email_in_dn = no # Don\*(Aqt add the email into cert DN \& \& name_opt = ca_default # Subject name display option \& cert_opt = ca_default # Certificate display option \& copy_extensions = none # Don\*(Aqt copy extensions from request \& \& [ policy_any ] \& countryName = supplied \& stateOrProvinceName = optional \& organizationName = optional \& organizationalUnitName = optional \& commonName = supplied \& emailAddress = optional .Ve .SH "فایل‌ها (FILES)" .IX Header "FILES" توجه: مکان تمامی فایل‌ها می‌تواند با گزینه‌های زمان کامپایل، مدخل‌های فایل پیکربندی، متغیرهای محیطی یا گزینه‌های خط فرمان تغییر کند. مقادیر زیر بیانگر مقادیر پیش‌فرض هستند. .PP .Vb 9 \& /usr/local/ssl/lib/openssl.cnf \- فایل پیکربندی اصلی \& ./demoCA \- دایرکتوری اصلی CA \& ./demoCA/cacert.pem \- گواهی CA \& ./demoCA/private/cakey.pem \- کلید خصوصی CA \& ./demoCA/serial \- فایل شماره سریال CA \& ./demoCA/serial.old \- فایل پشتیبان شماره سریال CA \& ./demoCA/index.txt \- فایل پایگاه‌داده متنی CA \& ./demoCA/index.txt.old \- فایل پشتیبان پایگاه‌داده متنی CA \& ./demoCA/certs \- فایل خروجی گواهی .Ve .SH "محدودیت‌ها (RESTRICTIONS)" .IX Header "RESTRICTIONS" فایل ایندکس پایگاه‌داده متنی بخش حیاتی این فرآیند است و در صورت خرابی، ترمیم آن می‌تواند دشوار باشد. از نظر تئوری امکان بازسازی فایل ایندکس از روی تمامی گواهی‌های صادرشده و یک CRL جاری وجود دارد؛ با این حال هیچ گزینه‌ای برای انجام این کار وجود ندارد. .PP قابلیت‌های V2 CRL مانند CRLهای دلتا (delta CRLs) در حال حاضر پشتیبانی نمی‌شوند. .PP اگرچه می‌توان چندین درخواست را به طور همزمان ورودی داد و پردازش کرد، اما تنها گنجاندن یک SPKAC یا گواهی خودامضاشده (self\-signed) امکان‌پذیر است. .SH "باگ‌ها (BUGS)" .IX Header "BUGS" این دستور رفتارهای عجیب و غیرمنتظره‌ای دارد و گاهی اوقات کاملاً غیرکاربرپسند است. .PP استفاده از یک پایگاه‌داده متنی مقیم در حافظه (in\-memory) در زمان وجود شمار بالایی از گواهی‌ها می‌تواند مشکلاتی ایجاد کند، زیرا همان‌طور که از نامش پیداست، پایگاه‌داده باید در حافظه نگهداری شود. .PP این دستور واقعاً نیازمند بازنویسی است یا اینکه قابلیت‌های مورد نیاز باید در سطح دستور یا رابط کاربری ارائه شوند تا جایگزینی کاربرپسندتر بتواند کارها را به درستی انجام دهد. اسکریپت \&\fBCA.pl\fR کمی کمک می‌کند، اما نه خیلی زیاد. .PP هر فیلدی در درخواست که در شیوه‌نامه (policy) وجود نداشته باشد، به آرامی و بدون اعلان حذف می‌شود. در صورت استفاده از گزینه \fB\-preserveDN\fR این اتفاق نمی‌افتد. برای اعمال نبود فیلد EMAIL در DN، همان‌طور که توسط RFCها پیشنهاد شده است، صرف‌نظر از محتوای موضوع درخواست می‌توان از گزینه \fB\-noemailDN\fR استفاده کرد. این رفتار باید کاربرپسندتر و قابل‌پیکربندی‌تر باشد. .PP لغو برخی دستورات با خودداری از تایید یک گواهی می‌تواند یک فایل خالی ایجاد کند. .SH "هشدارها (WARNINGS)" .IX Header "WARNINGS" این دستور در اصل به عنوان مثالی از نحوه انجام امور در یک CA در نظر گرفته شده بود. کد آن کیفیت مناسب محیط عملیاتی ندارد. قرار نبوده که خود به عنوان یک CA تمام‌عیار مورد استفاده قرار گیرد، با این وجود برخی افراد حداقل به صورت داخلی برای این منظور از آن استفاده می‌کنند. هنگام انجام چنین کاری، باید دقت ویژه‌ای صورت گیرد تا کلید(های) خصوصی مورد استفاده برای امضای گواهی‌ها به درستی ایمن شوند. توصیه می‌شود آن‌ها را در یک حافظه سخت‌افزاری امن مانند کارت هوشمند یا HSM نگهداری کرده و از طریق یک engine یا ارائه‌دهنده رمزنگاری مناسب به آن‌ها دسترسی پیدا کنید. .PP این دستور عملاً یک دستور تک‌کاربره است: هیچ قفل‌گذاری روی فایل‌های مختلف انجام نمی‌شود و تلاش برای اجرای بیش از یک دستور \fBopenssl ca\fR روی همان پایگاه‌داده می‌تواند نتایج غیرقابل پیش‌بینی در پی داشته باشد. .PP گزینه \fBcopy_extensions\fR باید با احتیاط استفاده شود. اگر دقت کافی نشود، می‌تواند یک ریسک امنیتی باشد. برای مثال اگر یک درخواست گواهی حاوی افزونه basicConstraints با مقدار CA:TRUE باشد و مقدار \&\fBcopy_extensions\fR روی \fBcopyall\fR تنظیم شده باشد و کاربر هنگام نمایش گواهی متوجه این موضوع نشود، یک گواهی معتبر CA به درخواست‌کننده تحویل داده خواهد شد. با تنظیم \fBcopy_extensions\fR روی \fBcopy\fR و گنجاندن basicConstraints با مقدار CA:FALSE در فایل پیکربندی می‌توان از این وضعیت جلوگیری کرد. سپس اگر درخواست حاوی افزونه basicConstraints باشد، نادیده گرفته خواهد شد. .PP همچنین توصیه می‌شود مقادیری برای سایر افزونه‌ها مانند \fBkeyUsage\fR در نظر گرفته شود تا از ارائه مقادیر دلخواه توسط درخواست جلوگیری به عمل آید. .PP محدودیت‌های بیشتری را می‌توان روی خود گواهی CA اعمال کرد. به عنوان مثال، اگر گواهی CA دارای مشخصه زیر باشد: .PP .Vb 1 \& basicConstraints = CA:TRUE, pathlen:0 .Ve .PP آنگاه حتی اگر گواهی با CA:TRUE صادر شود، نامعتبر خواهد بود. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" از نسخه 1.1.1 اوپن‌اس‌اس‌ال، این برنامه از RFC5280 پیروی می‌کند. به ویژه، دوره اعتبار گواهی (تعیین‌شده توسط هر یک از گزینه‌های \fB\-startdate\fR، \&\fB\-enddate\fR و \fB\-days\fR) و زمان آخرین/بعدی به‌روزرسانی CRL (تعیین‌شده توسط هر یک از گزینه‌های \fB\-crl_lastupdate\fR، \fB\-crl_nextupdate\fR، \fB\-crldays\fR، \fB\-crlhours\fR و \fB\-crlsec\fR) چنانچه تاریخ‌ها زودتر از سال ۲۰۴۹ (شامل آن) باشند به صورت UTCTime، و چنانچه در سال ۲۰۵۰ یا بعد از آن باشند به صورت GeneralizedTime کدگذاری خواهند شد. .PP نسخه 1.1.1 اوپن‌اس‌اس‌ال یک مولد تصادفی جدید (CSPRNG) با سازوکار بذردهی بهبودیافته معرفی کرد. سازوکار جدید بذردهی، تعریف RANDFILE برای ذخیره و بازیابی تصادفی بودن را غیرضروری می‌کند. این گزینه عمدتاً برای حفظ سازگاری حفظ شده است. .PP گزینه \fB\-section\fR در نسخه 3.0.0 اوپن‌اس‌اس‌ال اضافه شد. .PP گزینه \fB\-multivalue\-rdn\fR در نسخه 3.0.0 اوپن‌اس‌اس‌ال منسوخ شد و هیچ تاثیری ندارد. .PP گزینه \fB\-engine\fR در نسخه 3.0 اوپن‌اس‌اس‌ال منسوخ شد. .PP از نسخه 3.2 اوپن‌اس‌اس‌ال، گواهی‌های تولیدشده از نسخه ۳ فرمت X.509 بهره می‌برند و افزونه‌های شناسه کلید به طور پیش‌فرض گنجانده می‌شوند. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\fR\|(1), \&\fBopenssl\-req\fR\|(1), \&\fBopenssl\-spkac\fR\|(1), \&\fBopenssl\-x509\fR\|(1), \&\fBCA.pl\fR\|(1), \&\fBconfig\fR\|(5), \&\fBx509v3_config\fR\|(5) .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر ۲۰۰۰\-۲۰۲۵ نویسندگان پروژه OpenSSL. تمامی حقوق محفوظ است. .PP تحت مجوز آپاچی نسخه ۲.۰ («مجوز») منتشر شده است. شما نمی‌توانید از این فایل مگر در انطباق با این مجوز استفاده کنید. می‌توانید نسخه‌ای از مجوز را در فایل LICENSE توزیع مبدا یا در نشانی زیر دریافت کنید: .