.\" $OpenBSD: openssl.1,v 1.170 2026/03/14 06:06:48 tb Exp $ .\" ==================================================================== .\" Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in .\" the documentation and/or other materials provided with the .\" distribution. .\" .\" 3. All advertising materials mentioning features or use of this .\" software must display the following acknowledgment: .\" "This product includes software developed by the OpenSSL Project .\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" .\" .\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to .\" endorse or promote products derived from this software without .\" prior written permission. For written permission, please contact .\" openssl-core@openssl.org. .\" .\" 5. Products derived from this software may not be called "OpenSSL" .\" nor may "OpenSSL" appear in their names without prior written .\" permission of the OpenSSL Project. .\" .\" 6. Redistributions of any form whatsoever must retain the following .\" acknowledgment: .\" "This product includes software developed by the OpenSSL Project .\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" .\" .\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY .\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR .\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED .\" OF THE POSSIBILITY OF SUCH DAMAGE. .\" ==================================================================== .\" .\" This product includes cryptographic software written by Eric Young .\" (eay@cryptsoft.com). This product includes software written by Tim .\" Hudson (tjh@cryptsoft.com). .\" .\" .\" Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) .\" All rights reserved. .\" .\" This package is an SSL implementation written .\" by Eric Young (eay@cryptsoft.com). .\" The implementation was written so as to conform with Netscapes SSL. .\" .\" This library is free for commercial and non-commercial use as long as .\" the following conditions are aheared to. The following conditions .\" apply to all code found in this distribution, be it the RC4, RSA, .\" lhash, DES, etc., code; not just the SSL code. The SSL documentation .\" included with this distribution is covered by the same copyright terms .\" except that the holder is Tim Hudson (tjh@cryptsoft.com). .\" .\" Copyright remains Eric Young's, and as such any Copyright notices in .\" the code are not to be removed. .\" If this package is used in a product, Eric Young should be given attribution .\" as the author of the parts of the library used. .\" This can be in the form of a textual message at program startup or .\" in documentation (online or textual) provided with the package. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" "This product includes cryptographic software written by .\" Eric Young (eay@cryptsoft.com)" .\" The word 'cryptographic' can be left out if the rouines from the library .\" being used are not cryptographic related :-). .\" 4. If you include any Windows specific code (or a derivative thereof) from .\" the apps directory (application code) you must include an .\" acknowledgement: .\" "This product includes software written by Tim Hudson .\" (tjh@cryptsoft.com)" .\" .\" THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" The licence and distribution terms for any publically available version or .\" derivative of this code cannot be changed. i.e. this code cannot simply be .\" copied and put under another distribution licence .\" [including the GNU Public Licence.] .\" .Dd $Mdocdate: March 14 2026 $ .Dt OPENSSL 1 .Os .Sh "نام (NAME)" .Nm openssl .Nd ابزار خط فرمان OpenSSL .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Ar command .Op Ar command_opt ... .Op Ar command_arg ... .Pp .Nm .Cm list-standard-commands | .Cm list-message-digest-commands | .Cm list-cipher-commands | .Cm list-cipher-algorithms | .Cm list-message-digest-algorithms | .Cm list-public-key-algorithms .Pp .Nm .Cm no- Ns Ar command .Sh "توضیحات (DESCRIPTION)" .Nm OpenSSL یک جعبه‌ابزار رمزنگاری برای پیاده‌سازی پروتکل شبکه Transport Layer Security .Pq TLS و همچنین استانداردهای رمزنگاری مرتبط است. .Pp برنامه .Nm یک ابزار خط فرمان برای استفاده از توابع مختلف رمزنگاری موجود در کتابخانه رمزنگاری .Nm openssl از طریق شل است. .Pp شبه‌دستورهای .Cm list-standard-commands ، list-message-digest-commands و .Cm list-cipher-commands فهرستی .Pq در هر سطر یک مورد از نام تمامی دستورات استاندارد، دستورات خلاصه پیام (message digest) یا دستورات رمزگذاری (cipher) موجود در ابزار جاری .Nm را در خروجی چاپ می‌کنند. .Pp شبه‌دستورهای .Cm list-cipher-algorithms و .Cm list-message-digest-algorithms تمامی نام‌های الگوریتم‌های رمزگذاری و خلاصه پیام را در هر سطر یک مورد فهرست می‌کنند. نام‌های مستعار به‌صورت زیر فهرست می‌شوند: .Pp .D1 from => to .Pp شبه‌دستور .Cm list-public-key-algorithms تمامی الگوریتم‌های کلید عمومی پشتیبانی‌شده را فهرست می‌کند. .Pp شبه‌دستور .Cm no- Ns Ar command بررسی می‌کند که آیا دستوری با نام مشخص‌شده در دسترس است یا خیر. اگر .Ar command وجود نداشته باشد، مقدار ۰ را برمی‌گرداند و عبارت .Cm no- Ns Ar command را چاپ می‌کند؛ در غیر این صورت مقدار ۱ را برمی‌گرداند و عبارت .Ar command را چاپ می‌کند. در هر دو حالت، خروجی به stdout ارسال شده و چیزی در stderr چاپ نمی‌شود. آرگومان‌های خط فرمان اضافی همواره نادیده گرفته می‌شوند. از آنجا که برای هر رمزگذار دستوری هم‌نام وجود دارد، این قابلیت روشی آسان برای اسکریپت‌های شل جهت بررسی دسترسی‌پذیری الگوریتم‌های رمزگذاری در برنامه .Nm فراهم می‌کند. .Pp .Sy نکته : .Cm no- Ns Ar command قادر به تشخیص شبه‌دستورهایی مانند .Cm quit ، .Cm list- Ns Ar ... Ns Cm -commands یا خود .Cm no- Ns Ar command نیست. .Tg asn1parse .Sh ASN1PARSE .Bl -hang -width "openssl asn1parse" .It Nm openssl asn1parse .Bk -words .Op Fl i .Op Fl dlimit Ar number .Op Fl dump .Op Fl genconf Ar file .Op Fl genstr Ar str .Op Fl in Ar file .Op Fl inform Cm der | pem | txt .Op Fl length Ar number .Op Fl noout .Op Fl offset Ar number .Op Fl oid Ar file .Op Fl out Ar file .Op Fl strparse Ar offset .Ek .El .Pp دستور .Nm asn1parse یک ابزار تشخیصی است که می‌تواند ساختارهای ASN.1 را تجزیه کند. همچنین می‌توان از آن برای استخراج داده از داده‌های قالب‌بندی‌شده با ASN.1 استفاده کرد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl dlimit Ar number تخلیه (dump) اولین .Ar number بایت از داده‌های ناشناخته در قالب هگزادسیمال. .It Fl dump تخلیه داده‌های ناشناخته در قالب هگزادسیمال. .It Fl genconf Ar file , Fl genstr Ar str تولید داده‌های کدگذاری‌شده بر اساس رشته .Ar str ، فایل .Ar file یا هر دو، با استفاده از قالبی که در .Xr ASN1_generate_nconf 3 شرح داده شده است. اگر فقط .Ar file مشخص شده باشد، رشته مورد نظر از بخش پیش‌فرض با استفاده از نام .Dq asn1 به دست می‌آید. داده‌های کدگذاری‌شده از تجزیه‌کننده ASN.1 عبور داده می‌شوند و به گونه‌ای در خروجی چاپ می‌شوند که گویی از یک فایل آمده‌اند؛ بنابراین می‌توان محتوا را بررسی کرد و با استفاده از گزینه .Fl out در یک فایل ذخیره نمود. .It Fl i دندانه‌دار کردن خروجی متناسب با .Qq عمق ساختارها. .It Fl in Ar file فایل ورودی برای خواندن، یا در صورت عدم تعیین، ورودی استاندارد. .It Fl inform Cm der | pem | txt قالب ورودی. .It Fl length Ar number تعداد بایت‌ها برای تجزیه؛ حالت پیش‌فرض تا پایان فایل است. .It Fl noout خودداری از ارسال نسخه تجزیه‌شده فایل ورودی به خروجی. .It Fl offset Ar number آفست شروع برای آغاز تجزیه؛ حالت پیش‌فرض ابتدای فایل است. .It Fl oid Ar file فایلی حاوی شناسه‌های شیء اضافی .Pq OID . اگر یک OID .Pq شناسه شیء در جدول داخلی .Nm openssl وجود نداشته باشد، به صورت عددی .Pq برای نمونه 1.2.3.4 نمایش داده خواهد شد. .Pp هر سطر شامل سه ستون است: ستون اول OID در قالب عددی است و باید با فاصله خالی دنبال شود. ستون دوم .Qq نام کوتاه است که یک کلمه منفرد بوده و با فاصله خالی دنبال می‌شود. ستون پایانی باقی‌مانده سطر و .Qq نام کامل است. .Nm asn1parse نام کامل را نمایش می‌دهد. .It Fl out Ar file فایل خروجی کدگذاری‌شده با DER؛ حالت پیش‌فرض عدم تولید خروجی کدگذاری‌شده است (در صورت ترکیب با .Fl strparse کاربرد دارد). .It Fl strparse Ar offset تجزیه اوکتت‌های محتوای شیء ASN.1 که از .Ar offset شروع می‌شود. این گزینه می‌تواند چندین بار برای .Qq پیمایش به عمق یک ساختار تو‌در‌تو استفاده شود. .El .Tg ca .Sh CA .Bl -hang -width "openssl ca" .It Nm openssl ca .Bk -words .Op Fl batch .Op Fl cert Ar file .Op Fl config Ar file .Op Fl create_serial .Op Fl crl_CA_compromise Ar time .Op Fl crl_compromise Ar time .Op Fl crl_hold Ar instruction .Op Fl crl_reason Ar reason .Op Fl crldays Ar days .Op Fl crlexts Ar section .Op Fl crlhours Ar hours .Op Fl crlsec Ar seconds .Op Fl days Ar arg .Op Fl enddate Ar date .Op Fl extensions Ar section .Op Fl extfile Ar file .Op Fl gencrl .Op Fl in Ar file .Op Fl infiles .Op Fl key Ar password .Op Fl keyfile Ar file .Op Fl keyform Cm pem | der .Op Fl md Ar alg .Op Fl multivalue-rdn .Op Fl name Ar section .Op Fl noemailDN .Op Fl notext .Op Fl out Ar file .Op Fl outdir Ar directory .Op Fl passin Ar arg .Op Fl policy Ar arg .Op Fl preserveDN .Op Fl revoke Ar file .Op Fl selfsign .Op Fl sigopt Ar nm:v .Op Fl ss_cert Ar file .Op Fl startdate Ar date .Op Fl status Ar serial .Op Fl subj Ar arg .Op Fl updatedb .Op Fl utf8 .Op Fl verbose .Ek .El .Pp دستور .Nm ca یک برنامه کمینه برای مرجع صدور گواهی (CA) است. از این ابزار می‌توان برای امضای درخواست‌های گواهی در قالب‌های مختلف و ایجاد فهرست‌های ابطال گواهی (CRL) استفاده کرد. همچنین این دستور یک پایگاه داده متنی از گواهی‌های صادرشده و وضعیت آن‌ها نگهداری می‌کند. .Pp گزینه‌های مربوط به مرجع صدور گواهی (CA) به شرح زیر هستند: .Bl -tag -width "XXXX" .It Fl batch حالت غیرتعاملی (دسته‌ای یا Batch). در این حالت هیچ پرسشی پرسیده نخواهد شد و تمام گواهی‌ها به صورت خودکار تایید و صادر می‌شوند. .It Fl cert Ar file فایل گواهی CA. .It Fl config Ar file تعیین فایل پیکربندی جایگزین. .It Fl create_serial اگر خواندن شماره سریال از فایل متنی مشخص‌شده در پیکربندی با شکست مواجه شود، یک سریال تصادفی جدید برای استفاده به عنوان شماره سریال بعدی ایجاد می‌کند. .It Fl days Ar arg تعداد روزهایی که گواهی برای آن مدت معتبر خواهد بود. .It Fl enddate Ar date تنظیم تاریخ انقضا. قالب تاریخ به صورت [YY]YYMMDDHHMMSSZ است، و برای تاریخ‌های سال ۲۰۵۰ به بعد درج هر چهار رقم سال الزامی است. .It Fl extensions Ar section بخشی از فایل پیکربندی که شامل افزونه‌های گواهی است تا در هنگام صدور گواهی اضافه شوند (پیش‌فرض .Cm x509_extensions است مگر اینکه از گزینه .Fl extfile استفاده شود). اگر هیچ بخش افزونه‌ای وجود نداشته باشد، گواهی نسخه ۱ (V1) ایجاد می‌شود. اگر بخش افزونه وجود داشته باشد .Pq حتی اگر خالی باشد ، گواهی نسخه ۳ (V3) ایجاد می‌شود. برای جزئیات قالب بخش افزونه، صفحه راهنمای .Xr x509v3.cnf 5 را ببینید. .It Fl extfile Ar file یک .Ar file پیکربندی اضافی برای خواندن افزونه‌های گواهی از آن (استفاده از بخش پیش‌فرض مگر اینکه از گزینه .Fl extensions نیز استفاده شود). .It Fl in Ar file یک .Ar file ورودی حاوی یک درخواست گواهی منفرد برای امضا توسط CA. .It Fl infiles در صورت استفاده، این گزینه باید آخرین گزینه باشد؛ تمام آرگومان‌های بعدی به عنوان نام فایل‌های حاوی درخواست گواهی در نظر گرفته می‌شوند. .It Fl key Ar password عبارت .Fa password که برای رمزنگاری کلید خصوصی استفاده می‌شود. از آنجا که در برخی سیستم‌ها آرگومان‌های خط فرمان برای دیگران قابل مشاهده هستند، این گزینه باید با احتیاط استفاده شود. .It Fl keyfile Ar file کلید خصوصی برای امضای درخواست‌ها. .It Fl keyform Cm pem | der قالب فایل کلید خصوصی. حالت پیش‌فرض .Cm pem است. .It Fl md Ar alg خلاصه پیام مورد استفاده. مقادیر ممکن شامل .Ar md5 و .Ar sha1 است. این گزینه برای CRLها نیز اعمال می‌شود. .It Fl multivalue-rdn این گزینه باعث می‌شود که آرگومان .Fl subj با پشتیبانی کامل از RDNهای چندمقداری تفسیر شود، برای نمونه .Qq "/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe" . اگر گزینه .Fl multivalue-rdn استفاده نشود، مقدار UID برابر با .Qq "123456+CN=John Doe" تنظیم خواهد شد. .It Fl name Ar section مشخص‌کننده .Ar section مورد استفاده از فایل پیکربندی (بازنویسی‌کننده .Cm default_ca در بخش .Cm ca ). .It Fl noemailDN در صورتی که فیلد EMAIL در DN درخواست وجود داشته باشد، DN گواهی می‌تواند شامل آن باشد؛ با این حال سیاست مناسب این است که ایمیل فقط در افزونه .Cm altName گواهی قرار داده شود. هنگامی که این گزینه تنظیم شود، فیلد EMAIL از موضوع (subject) گواهی حذف شده و تنها در افزونه‌ها (در صورت وجود) قرار می‌گیرد. کلیدواژه .Ar email_in_dn می‌تواند در فایل پیکربندی برای فعال‌سازی این رفتار استفاده شود. .It Fl notext از درج شکل متنی گواهی در فایل خروجی خودداری می‌کند. .It Fl out Ar file فایل خروجی برای نوشتن گواهی‌ها در آن. حالت پیش‌فرض خروجی استاندارد است. جزئیات گواهی نیز با قالب PEM در این فایل نوشته خواهد شد. .It Fl outdir Ar directory پوشه .Ar directory برای ذخیره گواهی‌های خروجی. گواهی در فایلی با نام متشکل از شماره سریال در مبنای ۱۶ به همراه پسوند .Qq .pem ذخیره خواهد شد. .It Fl passin Ar arg منبع رمز عبور کلید. .It Fl policy Ar arg تعریف .Qq خط‌مشی (policy) مورد استفاده برای CA. بخش policy در فایل پیکربندی شامل مجموعه‌ای از متغیرهای متناظر با فیلدهای DN گواهی است. مقادیر می‌توانند یکی از موارد .Qq match (مقدار باید با همان فیلد در گواهی CA مطابقت داشته باشد)، .Qq supplied (مقدار باید حتماً وجود داشته باشد) یا .Qq optional (مقدار اختیاری است) باشند. هر فیلدی که در بخش policy ذکر نشده باشد بدون هشدار حذف می‌شود، مگر اینکه گزینه .Fl preserveDN تنظیم شده باشد، هرچند این رفتار بیشتر یک ناهماهنگی است تا یک رفتار تعمدی. .It Fl preserveDN به طور معمول، ترتیب DN یک گواهی برابر با ترتیب فیلدها در بخش خط‌مشی (policy) مربوطه است. هنگامی که این گزینه تنظیم شود، ترتیب همانند درخواست خواهد بود. این گزینه عمدتاً برای سازگاری با کنترل‌های ثبت‌نام قدیمی‌تر IE است که تنها در صورتی گواهی‌ها را می‌پذیرفتند که ترتیب DN آن‌ها دقیقاً مطابق با درخواست بود. این گزینه برای Xenroll نیازی نیست. .It Fl selfsign نشان می‌دهد که گواهی‌های صادرشده باید با همان کلیدی که درخواست‌های گواهی با آن امضا شده‌اند (که با .Fl keyfile داده شده) امضا شوند. درخواست‌های گواهی که با کلید متفاوتی امضا شده‌اند نادیده گرفته می‌شوند. اگر .Fl gencrl یا .Fl ss_cert داده شوند، .Fl selfsign نادیده گرفته خواهد شد. .Pp یکی از پیامدهای استفاده از .Fl selfsign این است که گواهی خودامضاشده در میان ورودی‌های پایگاه داده گواهی ظاهر می‌شود (گزینه پیکربندی .Cm database را ببینید) و از همان شمارنده شماره سریال گواهی‌های دیگر استفاده می‌کند. .It Fl sigopt Ar nm:v ارسال گزینه‌ها به الگوریتم امضا در طول عملیات امضا یا اعتبارسنجی. نام‌ها و مقادیر این گزینه‌ها وابسته به الگوریتم هستند. .It Fl ss_cert Ar file یک گواهی خودامضاشده منفرد برای امضا توسط CA. .It Fl startdate Ar date تنظیم تاریخ شروع. قالب تاریخ به صورت [YY]YYMMDDHHMMSSZ است، و برای تاریخ‌های سال ۲۰۵۰ به بعد درج هر چهار رقم سال الزامی است. .It Fl subj Ar arg جایگزین نام موضوع (subject) ارائه‌شده در درخواست می‌شود. آرگومان .Ar arg باید به این صورت قالب‌بندی شود: .Sm off .Pf / Ar type0 Ns = Ar value0 Ns / Ar type 1 Ns = Ar value 1 Ns / .Ar type2 Ns = Ar ... ; .Sm on کاراکترها می‌توانند با .Sq \e .Pq بک‌اسلش اسکیپ شوند، هیچ فاصله‌ای نادیده گرفته نمی‌شود. .It Fl utf8 تفسیر مقادیر فیلدهای خوانده‌شده از ترمینال یا فایل پیکربندی به عنوان رشته‌های UTF-8. به طور پیش‌فرض، آن‌ها به عنوان ASCII تفسیر می‌شوند. .It Fl verbose چاپ جزئیات بیشتر درباره عملیات در حال انجام. .El .Pp گزینه‌های مربوط به فهرست‌های ابطال گواهی (CRL) به شرح زیر هستند: .Bl -tag -width "XXXX" .It Fl crl_CA_compromise Ar time مشابه .Fl crl_compromise است، با این تفاوت که دلیل ابطال بر روی CACompromise تنظیم می‌شود. .It Fl crl_compromise Ar time تنظیم دلیل ابطال بر روی keyCompromise و زمان افشا بر روی .Ar time . پارامتر .Ar time باید در قالب GeneralizedTime یعنی YYYYMMDDHHMMSSZ باشد. .It Fl crl_hold Ar instruction تنظیم کد دلیل ابطال CRL بر روی certificateHold و دستورالعمل تعلیق بر روی .Ar instruction که باید یک OID باشد. اگرچه هر OIDای می‌تواند استفاده شود، معمولاً تنها holdInstructionNone (که استفاده از آن توسط RFC 2459 منع شده)، holdInstructionCallIssuer یا holdInstructionReject استفاده می‌شوند. .It Fl crl_reason Ar reason دلیل ابطال، که در آن .Ar reason یکی از موارد زیر است: unspecified، keyCompromise، CACompromise، affiliationChanged، superseded، cessationOfOperation، certificateHold یا removeFromCRL. تطبیق .Ar reason به حروف بزرگ و کوچک حساس نیست. تنظیم هرگونه دلیل ابطال باعث می‌شود که CRL نسخه ۲ (v2) شود. در عمل، removeFromCRL کاربرد چندانی ندارد زیرا تنها در delta CRLها کاربرد دارد که در حال حاضر پیاده‌سازی نشده‌اند. .It Fl crldays Ar days تعداد روزهای باقی‌مانده تا سررسید CRL بعدی. این تعداد روز از اکنون است که در فیلد .Cm nextUpdate مربوط به CRL قرار می‌گیرد. .It Fl crlexts Ar section بخش .Ar section از فایل پیکربندی که شامل افزونه‌های CRL برای گنجاندن است. اگر هیچ بخش افزونه CRL وجود نداشته باشد، یک CRL نسخه ۱ ایجاد می‌شود؛ اگر بخش افزونه CRL موجود باشد (حتی اگر خالی باشد) یک CRL نسخه ۲ ایجاد خواهد شد. افزونه‌های مشخص‌شده مربوط به خود CRL هستند و نه مدخل‌های CRL. باید توجه داشت که برخی نرم‌افزارها قادر به پردازش CRL نسخه ۲ نیستند. برای جزئیات قالب بخش افزونه، صفحه راهنمای .Xr x509v3.cnf 5 را ببینید. .It Fl crlhours Ar hours تعداد ساعت‌های باقی‌مانده تا موعد CRL بعدی. .It Fl crlsec Ar seconds تعداد ثانیه‌های باقی‌مانده تا موعد CRL بعدی. .It Fl gencrl ایجاد یک CRL بر اساس اطلاعات موجود در فایل نمایه (index). .It Fl revoke Ar file یک .Ar file حاوی گواهی برای ابطال. .It Fl status Ar serial نمایش وضعیت گواهی با شماره سریال .Ar serial . .It Fl updatedb به‌روزرسانی نمایه پایگاه داده برای پاک‌سازی گواهی‌های منقضی‌شده. .El .Pp بسیاری از گزینه‌ها را می‌توان در بخش .Cm ca از فایل پیکربندی (یا در بخش پیش‌فرض فایل پیکربندی) تنظیم کرد که با استفاده از .Cm default_ca یا .Fl name مشخص می‌شود. گزینه .Cm preserve مستقیماً از بخش .Cm ca خوانده می‌شود. .Pp بسیاری از گزینه‌های فایل پیکربندی با گزینه‌های خط فرمان یکسان هستند. هر جا که گزینه در هر دو فایل پیکربندی و خط فرمان وجود داشته باشد، مقدار خط فرمان استفاده می‌شود. در مواردی که گزینه‌ای به عنوان اجباری توصیف شده است، باید در فایل پیکربندی یا معادل خط فرمان آن .Pq در صورت وجود ارائه شود. .Bl -tag -width "XXXX" .It Cm certificate مشابه .Fl cert . فایل حاوی گواهی CA را مشخص می‌کند. اجباری. .It Cm copy_extensions نحوه مدیریت افزونه‌ها در درخواست‌های گواهی را تعیین می‌کند. اگر بر روی .Cm none تنظیم شود یا این گزینه وجود نداشته باشد، افزونه‌ها نادیده گرفته شده و در گواهی کپی نمی‌شوند. اگر بر روی .Cm copy تنظیم شود، هر افزونه موجود در درخواست که هنوز در گواهی موجود نباشد به گواهی کپی می‌شود. اگر بر روی .Cm copyall تنظیم شود، تمام افزونه‌های موجود در درخواست در گواهی کپی می‌شوند: اگر افزونه از قبل در گواهی وجود داشته باشد، ابتدا حذف می‌شود. .Pp گزینه .Cm copy_extensions باید با احتیاط استفاده شود. در صورت عدم دقت، می‌تواند یک خطر امنیتی ایجاد کند. برای مثال، اگر یک درخواست گواهی حاوی افزونه .Cm basicConstraints با مقدار CA:TRUE باشد و مقدار .Cm copy_extensions بر روی .Cm copyall تنظیم شده باشد و کاربر هنگام نمایش گواهی متوجه این موضوع نشود، یک گواهی معتبر CA به درخواست‌کننده اعطا خواهد شد. .Pp از این وضعیت می‌توان با تنظیم .Cm copy_extensions بر روی .Cm copy و قرار دادن .Cm basicConstraints با مقدار CA:FALSE در فایل پیکربندی جلوگیری کرد. در این صورت، اگر درخواست حاوی افزونه .Cm basicConstraints باشد، نادیده گرفته خواهد شد. .Pp کاربرد اصلی این گزینه این است که به درخواست گواهی اجازه دهد مقادیر برخی از افزونه‌ها مانند .Cm subjectAltName را تامین کند. .It Cm crl_extensions مشابه .Fl crlexts . .It Cm crlnumber یک فایل متنی حاوی شماره CRL بعدی در مبنای ۱۶. شماره CRL تنها در صورتی در CRLها درج خواهد شد که این فایل وجود داشته باشد. در صورت وجود این فایل، باید حاوی یک شماره CRL معتبر باشد. .It Cm database فایل پایگاه داده متنی مورد استفاده. اجباری. این فایل باید وجود داشته باشد، هرچند در ابتدا خالی خواهد بود. .It Cm default_crl_hours , default_crl_days مشابه گزینه‌های .Fl crlhours و .Fl crldays . این مقادیر تنها در صورتی استفاده خواهند شد که هیچ‌یک از گزینه‌های خط فرمان مشخص نشده باشند. برای ایجاد یک CRL باید حداقل یکی از این دو موجود باشد. .It Cm default_days مشابه گزینه .Fl days . تعداد روزهایی که گواهی برای آن مدت صادر می‌شود. .It Cm default_enddate مشابه گزینه .Fl enddate . باید یا این گزینه یا .Cm default_days .Pq یا معادل‌های خط فرمان آن‌ها ارائه شوند. .It Cm default_md مشابه گزینه .Fl md . خلاصه پیام مورد استفاده. اجباری. .It Cm default_startdate مشابه گزینه .Fl startdate . تاریخ شروع اعتبار گواهی. اگر تنظیم نشود، زمان جاری سیستم استفاده می‌شود. .It Cm email_in_dn مشابه .Fl noemailDN . اگر قرار است فیلد EMAIL از DN گواهی حذف شود، کافی است این مقدار بر روی .Qq no تنظیم شود. در صورت عدم وجود، پیش‌فرض اجازه دادن به وجود فیلد EMAIL در DN گواهی است. .It Cm name_opt , cert_opt این گزینه‌ها قالبی را تعیین می‌کنند که برای نمایش جزئیات گواهی هنگام درخواست تایید امضا از کاربر استفاده می‌شود. تمام گزینه‌های پشتیبانی‌شده توسط سوئیچ‌های .Fl nameopt و .Fl certopt در ابزار .Nm x509 را می‌توان در اینجا استفاده کرد، به جز اینکه .Cm no_signame و .Cm no_sigdump به صورت دائمی تنظیم شده‌اند و نمی‌توان آن‌ها را غیرفعال کرد (زیرا امضای گواهی در این مرحله هنوز انجام نشده و نمی‌تواند نمایش داده شود). .Pp برای سهولت، مقدار .Cm ca_default توسط هر دو پذیرفته می‌شود تا خروجی مناسبی تولید کند. .Pp اگر هیچ‌یک از این گزینه‌ها موجود نباشد، قالبی که در نسخه‌های قدیمی‌تر .Nm openssl استفاده می‌شد به کار گرفته می‌شود. استفاده از قالب قدیمی اکیداً منع می‌شود زیرا تنها فیلدهای ذکرشده در بخش .Cm policy را نمایش می‌دهد، انواع رشته‌های چندکاراکتری را به درستی پردازش نمی‌کند و افزونه‌ها را نمایش نمی‌دهد. .It Cm new_certs_dir مشابه گزینه خط فرمان .Fl outdir . دایرکتوری محل قرارگیری گواهی‌های جدید را مشخص می‌کند. اجباری. .It Cm oid_file مشخص‌کننده فایلی حاوی شناسه‌های شیء (OID) اضافی است. هر سطر فایل باید شامل شکل عددی شناسه شیء به همراه فاصله، سپس نام کوتاه به همراه فاصله و در نهایت نام کامل باشد. .It Cm oid_section مشخص‌کننده بخشی در فایل پیکربندی حاوی شناسه‌های شیء اضافی است. هر سطر باید شامل نام کوتاه شناسه شیء به همراه .Sq = و شکل عددی باشد. در صورت استفاده از این گزینه، نام کوتاه و نام کامل یکسان خواهند بود. .It Cm policy مشابه .Fl policy . اجباری. .It Cm preserve مشابه .Fl preserveDN . .It Cm private_key مشابه گزینه .Fl keyfile . فایل حاوی کلید خصوصی CA. اجباری. .It Cm serial یک فایل متنی حاوی شماره سریال بعدی در مبنای ۱۶. اجباری. این فایل باید وجود داشته باشد و شامل یک شماره سریال معتبر باشد. .It Cm unique_subject اگر مقدار .Cm yes داده شود، مدخل‌های گواهی معتبر در پایگاه داده باید دارای موضوع‌های (subjects) یکتا باشند. اگر مقدار .Cm no داده شود، چندین مدخل گواهی معتبر می‌توانند دقیقاً موضوع یکسانی داشته باشند. مقدار پیش‌فرض .Cm yes است. .Pp توجه داشته باشید که در برخی شرایط ایجاد گواهی بدون هیچ موضوعی مجاز است. در مواردی که چندین گواهی بدون موضوع وجود دارند، این حالت به عنوان تکراری شمرده نمی‌شود. .It Cm x509_extensions مشابه .Fl extensions . .El .Tg certhash .Sh CERTHASH .Bl -hang -width "openssl certhash" .It Nm openssl certhash .Bk -words .Op Fl nv .Ar dir ... .Ek .El .Pp دستور .Nm certhash مقدار هش فایل‌های .Qq .pem را در فهرست دایرکتوری‌های مشخص‌شده محاسبه کرده و برای هر فایل پیوندهای نمادین ایجاد می‌کند، به گونه‌ای که نام پیوند، همان مقدار هش است. برای نحوه استفاده از پیوندهای هش، صفحه راهنمای .Xr SSL_CTX_load_verify_locations 3 را ببینید. .Pp پیوندهای ایجادشده به فرم .Qq HHHHHHHH.D هستند، که در آن هر .Sq H یک نویسه هگزادسیمال و .Sq D یک رقم ده‌دهی منفرد است. هش‌های مربوط به CRLها مشابه هستند، با این تفاوت که حرف .Sq r پس از نقطه ظاهر می‌شود، مانند: .Qq HHHHHHHH.rD . هنگام پردازش یک پوشه، .Nm certhash ابتدا تمام پیوندهایی را که دارای نامی با این نحو و ارجاع نامعتبر هستند حذف می‌کند. .Pp ممکن است چندین شیء دارای هش یکسانی باشند؛ آن‌ها با افزایش مقدار .Sq D مشخص خواهند شد. موارد تکراری با مقایسه اثرانگشت کامل SHA256 شناسایی می‌شوند. در صورت یافتن مورد تکراری، یک هشدار نمایش داده خواهد شد. .Pp همچنین اگر فایل‌هایی وجود داشته باشند که نتوان آن‌ها را به عنوان گواهی یا CRL تجزیه کرد، هشدار نمایش داده خواهد شد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl n اجرای آزمایشی (بدون اعمال تغییرات واقعی). .It Fl v چاپ جزئیات بیشتر درباره پردازش. .It Ar dir ... مشخص کردن پوشه‌ها برای پردازش. .El .Tg ciphers .Sh CIPHERS .Nm openssl ciphers .Op Fl hsVv .Op Fl tls1_2 .Op Fl tls1_3 .Op Ar control .Pp دستور .Nm ciphers رشته .Ar control را از قالبی که در .Xr SSL_CTX_set_cipher_list 3 مستند شده است به یک فهرست مرتب اولویت‌بندی مجموعه‌های رمزنگاری SSL تبدیل می‌کند. اگر هیچ رشته .Ar control مشخص نشود، فهرست .Cm DEFAULT چاپ می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl h , \&? نمایش خلاصه پیام نحوه استفاده. .It Fl s فقط رمزگذارهایی را که توسط روش TLS پشتیبانی می‌شوند فهرست می‌کند. .It Fl tls1_2 | tls1_3 در ترکیب با گزینه .Fl s ، رمزگذارهایی را فهرست می‌کند که در صورت مذاکره بر روی نسخه پروتکل مشخص‌شده، قابل استفاده خواهند بود. .It Fl V خروجی با جزئیات کامل. فهرست کردن رمزگذارها همراه با کد مجموعه رمزگذاری در قالب هگز، نام الگوریتم و توضیحات کامل درباره نسخه پروتکل، تبادل کلید، احراز اصالت، رمزنگاری و الگوریتم‌های MAC. .It Fl v مشابه .Fl V ، اما بدون نمایش کدهای مجموعه رمزگذاری. .El .Tg cms .Sh CMS .Bl -hang -width "openssl cms" .It Nm openssl cms .Bk -words .Oo .Fl aes128 | aes192 | aes256 | camellia128 | .Fl camellia192 | camellia256 | des | des3 | .Fl rc2-40 | rc2-64 | rc2-128 .Oc .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl CRLfile Ar file .Op Fl binary .Op Fl certfile Ar file .Op Fl certsout Ar file .Op Fl cmsout .Op Fl content Ar file .Op Fl crlfeol .Op Fl data_create .Op Fl data_out .Op Fl debug_decrypt .Op Fl decrypt .Op Fl digest_create .Op Fl digest_verify .Op Fl econtent_type Ar type .Op Fl encrypt .Op Fl EncryptedData_decrypt .Op Fl EncryptedData_encrypt .Op Fl from Ar addr .Op Fl in Ar file .Op Fl inform Cm der | pem | smime .Op Fl inkey Ar file .Op Fl keyform Cm der | pem .Op Fl keyid .Op Fl keyopt Ar nm:v .Op Fl md Ar digest .Op Fl no_attr_verify .Op Fl no_content_verify .Op Fl no_signer_cert_verify .Op Fl noattr .Op Fl nocerts .Op Fl nodetach .Op Fl nointern .Op Fl nooldmime .Op Fl noout .Op Fl nosigs .Op Fl nosmimecap .Op Fl noverify .Op Fl out Ar file .Op Fl outform Cm der | pem | smime .Op Fl passin Ar src .Op Fl print .Op Fl pwri_password Ar arg .Op Fl rctform Cm der | pem | smime .Op Fl receipt_request_all | receipt_request_first .Op Fl receipt_request_from Ar addr .Op Fl receipt_request_print .Op Fl receipt_request_to Ar addr .Op Fl recip Ar file .Op Fl resign .Op Fl secretkey Ar key .Op Fl secretkeyid Ar id .Op Fl sign .Op Fl sign_receipt .Op Fl signer Ar file .Op Fl stream | indef | noindef .Op Fl subject Ar s .Op Fl text .Op Fl to Ar addr .Op Fl verify .Op Fl verify_receipt Ar file .Op Fl verify_retcode .Op Ar cert.pem ... .Ek .El .Pp دستور .Nm cms نامه‌های الکترونیکی S/MIME نسخه ۳.۱ را مدیریت می‌کند. این ابزار می‌تواند پیام‌های S/MIME را رمزگذاری، رمزگشایی، امضا و اعتبارسنجی کند. .Pp پیام MIME باید بدون هیچ خط خالی میان سرایندها (headers) و خروجی ارسال شود. برخی از برنامه‌های ایمیل به طور خودکار یک خط خالی اضافه می‌کنند. ارسال مستقیم پیام با لوله (pipe) به sendmail یکی از روش‌های دستیابی به قالب صحیح است. .Pp پیام ارائه‌شده برای امضا یا رمزگذاری باید شامل هدرهای ضروری MIME باشد، در غیر این صورت بسیاری از کلاینت‌های S/MIME نمی‌توانند آن را به درستی نمایش دهند (یا اصلاً نمایش نمی‌دهند). می‌توانید از گزینه .Fl text برای افزودن خودکار هدرهای متن ساده استفاده کنید. .Pp یک پیام "امضا و رمزگذاری‌شده" پیامی است که ابتدا امضا شده و سپس رمزگذاری می‌شود. این کار را می‌توان با رمزگذاری پیامی که قبلاً امضا شده است انجام داد. .Pp گزینه‌های عملیاتی گوناگونی وجود دارند که نوع عملیات اجرایی را تعیین می‌کنند. معنای سایر گزینه‌ها متناسب با نوع عملیات متفاوت خواهد بود. .Bl -tag -width "XXXX" .It Fl encrypt رمزگذاری ایمیل برای گواهی‌های گیرنده ارائه‌شده. فایل ورودی پیامی است که باید رمزگذاری شود. فایل خروجی ایمیل رمزگذاری‌شده در قالب MIME است. نوع واقعی CMS برابر با EnvelopedData است. توجه داشته باشید که هیچ بررسی ابطالی برای گواهی گیرنده انجام نمی‌شود، بنابراین اگر آن کلید لو رفته باشد، دیگران ممکن است بتوانند متن را رمزگشایی کنند. .It Fl decrypt رمزگشایی ایمیل با استفاده از گواهی و کلید خصوصی ارائه‌شده. در فایل ورودی انتظار یک پیام ایمیل رمزگذاری‌شده در قالب MIME را دارد. ایمیل رمزگشایی‌شده در فایل خروجی نوشته می‌شود. .It Fl sign امضای ایمیل با استفاده از گواهی و کلید خصوصی ارائه‌شده. فایل ورودی پیامی است که باید امضا شود. پیام امضاشده در قالب MIME در فایل خروجی نوشته می‌شود. .It Fl verify اعتبارسنجی ایمیل امضاشده. در ورودی انتظار یک پیام ایمیل امضاشده را دارد و داده‌های امضاشده را به خروجی می‌فرستد. هر دو امضای متن آشکار (clear text) و امضای مات (opaque) پشتیبانی می‌شوند. .It Fl cmsout دریافت یک پیام ورودی و نوشتن ساختار CMS کدگذاری‌شده با PEM در خروجی. .It Fl resign امضای مجدد یک پیام. دریافت یک پیام موجود و یک یا چند امضاکننده جدید. این عملیات هنگام افزودن یک امضاکننده جدید از خلاصه پیام موجود استفاده می‌کند. این بدان معناست که ویژگی‌ها باید حداقل در یک امضاکننده موجود با همان خلاصه پیام وجود داشته باشند، در غیر این صورت این عملیات ناموفق خواهد بود. .It Fl data_create ایجاد یک نوع داده CMS Data. .It Fl data_out خروجی دادن محتوا از نوع داده ورودی CMS Data. .It Fl digest_create ایجاد یک نوع داده CMS DigestedData. .It Fl digest_verify اعتبارسنجی نوع داده CMS DigestedData و خروجی دادن محتوا. .It Fl EncryptedData_encrypt رمزگذاری محتوا با استفاده از کلید متقارن و الگوریتم ارائه‌شده با استفاده از نوع داده CMS EncryptedData. .It Fl EncryptedData_decrypt رمزگشایی یک نوع داده CMS EncryptedData با استفاده از کلید متقارن ارائه‌شده. .It Fl sign_receipt تولید و خروجی دادن رسید امضاشده برای پیام ارائه‌شده. پیام ورودی باید شامل درخواست رسید امضاشده باشد. سایر عملکردهای آن مشابه عملیات .Fl sign است. .It Xo .Fl verify_receipt Ar file .Xc اعتبارسنجی رسید امضاشده در فایل. پیام ورودی باید حاوی درخواست رسید اولیه باشد. سایر عملکردهای آن مشابه عملیات .Fl verify است. .El .Pp سایر گزینه‌ها به شرح زیر هستند: .Bl -tag -width "XXXX" .It Xo .Fl aes128 | aes192 | aes256 | camellia128 | .Fl camellia192 | camellia256 | des | des3 | .Fl rc2-40 | rc2-64 | rc2-128 .Xc الگوریتم رمزگذاری مورد استفاده. به ترتیب الگوریتم‌های AES با طول کلید ۱۲۸، ۱۹۲ یا ۲۵۶ بیت، CAMELLIA با طول ۱۲۸، ۱۹۲ یا ۲۵۶ بیت، DES (۵۶ بیت)، Triple DES (۱۶۸ بیت)، یا RC2 با طول ۴۰، ۶۴ یا ۱۲۸ بیت؛ در صورت عدم تعیین، AES با طول ۲۵۶ بیت استفاده می‌شود. تنها در دستورهای .Fl encrypt و .Fl EncryptedData_encrypt کاربرد دارد. .It Fl binary به طور معمول، پیام ورودی طبق الزامات مشخصات S/MIME به قالب "استاندارد" (canonical) که در عمل استفاده از CR/LF به عنوان پایان خط است تبدیل می‌شود. هنگامی که این گزینه ارائه شود، هیچ تبدیلی رخ نمی‌دهد. این گزینه هنگام پردازش داده‌های دودویی که ممکن است در قالب MIME نباشند مفید است. .It Fl CAfile Ar file فایل حاوی گواهی‌های معتمد CA، مورد استفاده همراه با .Fl verify و .Fl verify_receipt . .It Fl CApath Ar directory پوشه حاوی گواهی‌های معتمد CA، مورد استفاده همراه با .Fl verify و .Fl verify_receipt . این پوشه باید یک پوشه استاندارد گواهی باشد: بدین معنا که هش هر نام موضوع (با استفاده از .Nm x509 Fl hash ) باید به هر گواهی پیوند داده شده باشد. .It Fl CRLfile Ar file امکان مشخص کردن فهرست‌های ابطال گواهی (CRL) اضافی را برای اعتبارسنجی فراهم می‌کند. این CRLها باید در قالب PEM باشند. .It Ar cert.pem ... یک یا چند گواهی از گیرندگان پیام: هنگام رمزگذاری پیام استفاده می‌شود. .It Fl certfile Ar file امکان تعیین گواهی‌های اضافی را فراهم می‌کند. هنگام امضا، این گواهی‌ها همراه با پیام گنجانده می‌شوند. هنگام اعتبارسنجی، این فایل‌ها برای یافتن گواهی‌های امضاکننده جستجو می‌شوند. گواهی‌ها باید در قالب PEM باشند. .It Fl certsout Ar file فایلی که تمام گواهی‌های موجود در پیام در آن نوشته می‌شوند. .It Xo .Fl check_ss_sig , .Fl crl_check , .Fl crl_check_all , .Fl extended_crl , .Fl ignore_critical , .Fl issuer_checks , .Fl policy , .Fl policy_check , .Fl purpose , .Fl x509_strict .Xc تنظیم گزینه‌های گوناگون اعتبارسنجی زنجیره گواهی. برای جزئیات بیشتر به دستور .Nm verify مراجعه کنید. .It Fl content Ar file فایل حاوی محتوای جداشده (detached content). این گزینه تنها با دستور .Fl verify مفید است. همچنین تنها زمانی قابل استفاده است که ساختار CMS از فرم امضای جداشده استفاده کند که در آن محتوا درون پیام گنجانده نشده است. اگر قالب ورودی S/MIME بوده و از نوع محتوای MIME multipart/signed استفاده کند، این گزینه هر محتوایی را بازنویسی خواهد کرد. .It Fl crlfeol خروجی دادن پیام S/MIME با پایان خط CR/LF. .It Fl debug_decrypt تنظیم پرچم CMS_DEBUG_DECRYPT هنگام رمزگشایی. این گزینه باید با احتیاط استفاده شود، چرا که می‌تواند حفاظت در برابر حمله MMA را غیرفعال کرده و در صورت عدم یافتن گیرنده خطا بازگرداند. برای جزئیات بیشتر درباره این فلگ به صفحه راهنمای .Xr CMS_decrypt 3 مراجعه کنید. .It Xo .Fl from Ar addr , .Fl subject Ar s , .Fl to Ar addr .Xc سرایندهای (headers) مرتبط با ایمیل. این سرایندها در خارج از بخش امضاشده پیام قرار می‌گیرند، بنابراین می‌توان آن‌ها را به صورت دستی درج کرد. هنگام امضا، بسیاری از کلاینت‌های ایمیل S/MIME بررسی می‌کنند که نشانی ایمیل گواهی امضاکننده با نشانی مشخص‌شده در From: مطابقت داشته باشد. .It Fl econtent_type Ar type تنظیم نوع محتوای کپسوله‌شده، مورد استفاده همراه با .Fl sign . اگر ارائه نشود، از نوع Data استفاده می‌شود. آرگومان type می‌تواند هر نام معتبر OID در قالب متنی یا عددی باشد. .It Fl in Ar file پیام ورودی برای رمزگذاری یا امضا، یا پیامی که باید رمزگشایی یا اعتبارسنجی شود. .It Fl inform Cm der | pem | smime قالب ورودی برای ساختار CMS. حالت پیش‌فرض .Cm smime است که پیامی با قالب S/MIME را می‌خواند. قالب‌های .Cm pem و .Cm der این رفتار را تغییر می‌دهند تا به جای آن ساختارهای CMS با قالب PEM و DER انتظار رود. این گزینه در حال حاضر تنها بر قالب ورودی ساختار CMS تاثیر می‌گذارد؛ اگر ساختار CMS ورودی داده نشود (برای مثال با .Fl encrypt یا .Fl sign ) این گزینه تاثیری نخواهد داشت. .It Fl inkey Ar file کلید خصوصی مورد استفاده هنگام امضا یا رمزگشایی. این کلید باید با گواهی مربوطه مطابقت داشته باشد. اگر این گزینه مشخص نشود، کلید خصوصی باید در فایل گواهی تعیین‌شده با گزینه .Fl recip یا .Fl signer گنجانده شده باشد. هنگام امضا، این گزینه می‌تواند چندین بار برای تعیین کلیدهای پیاپی استفاده شود. .It Fl keyform Cm der | pem قالب کلید خصوصی ورودی. حالت پیش‌فرض .Cm pem است. .It Fl keyid استفاده از شناسه کلید موضوع (subject key identifier) برای شناسایی گواهی‌ها به جای نام صادرکننده و شماره سریال. گواهی ارائه‌شده باید شامل افزونه شناسه کلید موضوع باشد. توسط عملیات‌های .Fl sign و .Fl encrypt پشتیبانی می‌شود. .It Fl keyopt Ar nm:v تنظیم پارامترهای سفارشی برای کلید یا گواهی پیشین جهت رمزگذاری و امضا. در حال حاضر می‌توان از آن برای تنظیم RSA-PSS جهت امضا، RSA-OAEP برای رمزگذاری یا تغییر پارامترهای پیش‌فرض برای ECDH استفاده کرد. این گزینه می‌تواند چندین بار استفاده شود. .It Fl md Ar digest الگوریتم خلاصه پیام مورد استفاده هنگام امضا یا امضای مجدد. اگر وجود نداشته باشد، از الگوریتم خلاصه پیام پیش‌فرض برای کلید امضا استفاده خواهد شد (معمولاً SHA1). .It Fl no_attr_verify ویژگی‌های امضاکننده را در امضا اعتبارسنجی نمی‌کند. .It Fl no_content_verify محتوای یک پیام امضاشده را اعتبارسنجی نمی‌کند. .It Fl no_signer_cert_verify گواهی امضاکننده یک پیام امضاشده را اعتبارسنجی نمی‌کند. .It Fl noattr از گنجاندن ویژگی‌ها خودداری می‌کند. به طور معمول هنگام امضای یک پیام، مجموعه‌ای از ویژگی‌ها شامل زمان امضا و الگوریتم‌های متقارن پشتیبانی‌شده گنجانده می‌شوند. با این گزینه، آن‌ها درج نخواهند شد. .It Fl nocerts از درج گواهی امضاکننده خودداری می‌کند. این کار اندازه پیام امضاشده را کاهش می‌دهد اما اعتبارسنج باید یک نسخه محلی از گواهی امضاکننده را در دسترس داشته باشد (برای نمونه از طریق گزینه .Fl certfile ارائه شده باشد). .It Fl nodetach هنگام امضای پیام، از امضای مات (opaque signing) استفاده می‌کند. این فرمت در برابر دستکاری توسط بازپخش‌کننده‌های ایمیل (mail relays) مقاوم‌تر است، اما توسط برنامه‌های ایمیلی که از S/MIME پشتیبانی نمی‌کنند خوانده نمی‌شود. بدون این گزینه، امضای متن آشکار با نوع MIME multipart/signed استفاده می‌شود. .It Fl nointern تنها از گواهی‌های مشخص‌شده در گزینه .Fl certfile استفاده می‌شود. هنگام اعتبارسنجی پیام، معمولاً گواهی‌های موجود در خود پیام (در صورت وجود) برای یافتن گواهی امضا جستجو می‌شوند. با این حال گواهی‌های ارائه‌شده می‌توانند به عنوان CAهای غیرمعتمد استفاده شوند. .It Fl nooldmime خروجی دادن نوع محتوای قدیمی S/MIME مانند "application/x-pkcs7-". .It Fl noout از خروجی دادن ساختار تجزیه‌شده CMS برای عملیات .Fl cmsout خودداری می‌کند. این گزینه در صورت ترکیب با گزینه .Fl print یا هنگام بررسی صحت ساختار CMS کاربرد دارد. .It Fl nosigs تلاشی برای اعتبارسنجی امضاهای موجود در پیام انجام نمی‌دهد. .It Fl nosmimecap فهرست الگوریتم‌های پشتیبانی‌شده را از ویژگی‌های امضاشده حذف می‌کند؛ سایر گزینه‌ها مانند زمان امضا و نوع محتوا همچنان درج می‌شوند. .It Fl noverify گواهی امضاکننده یک پیام امضاشده را اعتبارسنجی نمی‌کند. .It Fl out Ar file متن پیامی که رمزگشایی یا اعتبارسنجی شده است، یا پیام خروجی با قالب MIME که امضا یا اعتبارسنجی شده است. .It Fl outform Cm der | pem | smime قالب خروجی ساختار CMS را تعیین می‌کند. حالت پیش‌فرض .Cm smime است که پیامی با قالب S/MIME می‌نویسد. قالب‌های .Cm pem و .Cm der این رفتار را تغییر می‌دهند تا ساختارهای CMS با قالب PEM و DER نوشته شوند. این گزینه در حال حاضر تنها بر قالب خروجی ساختار CMS اثر می‌گذارد؛ اگر ساختار CMS در خروجی نباشد (برای نمونه با .Fl verify یا .Fl decrypt ) این گزینه تاثیری نخواهد داشت. .It Fl passin Ar src منبع رمز عبور کلید خصوصی. .It Fl print چاپ تمام فیلدهای ساختار CMS برای عملیات .Fl cmsout . این گزینه عمدتاً برای اهداف آزمایش و عیب‌یابی مفید است. .It Fl pwri_password Ar arg تعیین رمز عبور PasswordRecipientInfo (PWRI) مورد استفاده. توسط عملیات‌های .Fl encrypt و .Fl decrypt پشتیبانی می‌شود. .It Fl rctform Cm der | pem | smime تعیین قالب رسید امضاشده برای استفاده با عملیات .Fl receipt_verify . حالت پیش‌فرض .Cm smime است. .It Fl receipt_request_all | receipt_request_first مشخص می‌کند که درخواست‌ها باید توسط تمام گیرندگان یا گیرندگان رده اول (کسانی که مستقیماً و نه از فهرست پستی نامه را دریافت کرده‌اند) ارائه شوند، تا عملیات .Fl sign شامل درخواست رسید امضاشده باشد. اگر .Fl receipt_request_from درج شده باشد، این گزینه نادیده گرفته می‌شود. .It Fl receipt_request_from Ar addr افزودن نشانی ایمیل مشخص برای ارائه رسیدها. .It Fl receipt_request_print چاپ محتوای هرگونه درخواست رسید امضاشده برای عملیات .Fl verify . .It Fl receipt_request_to Ar addr افزودن نشانی ایمیل مشخص که رسیدهای امضاشده باید به آن ارسال شوند. در صورت درخواست رسید امضاشده، درج این گزینه الزامی است. .It Fl recip Ar file هنگام رمزگشایی پیام، این گزینه گواهی گیرنده را مشخص می‌کند. این گواهی باید با یکی از گیرندگان پیام مطابقت داشته باشد، در غیر این صورت خطایی رخ می‌دهد. هنگام رمزگذاری پیام، می‌توان از این گزینه چندین بار برای تعیین هر یک از گیرندگان استفاده کرد. اگر پارامترهای سفارشی نیاز باشد (برای نمونه جهت تعیین RSA-OAEP) باید از این فرم استفاده شود. تنها گواهی‌های حامل کلیدهای RSA، Diffie-Hellman یا EC توسط این گزینه پشتیبانی می‌شوند. .It Fl secretkey Ar key مشخص کردن کلید متقارن مورد استفاده. کلید باید در قالب هگزادسیمال ارائه شده و با الگوریتم استفاده‌شده سازگار باشد. توسط عملیات‌های .Fl EncryptedData_encrypt ، .Fl EncryptedData_decrypt ، .Fl encrypt و .Fl decrypt پشتیبانی می‌شود. هنگام استفاده با .Fl encrypt یا .Fl decrypt ، کلید ارائه‌شده برای بسته‌بندی یا باز کردن کلید رمزنگاری محتوا با استفاده از یک کلید AES در نوع KEKRecipientInfo به کار می‌رود. .It Fl secretkeyid Ar id شناسه کلید برای کلید متقارن ارائه‌شده در نوع KEKRecipientInfo. اگر گزینه .Fl secretkey همراه با .Fl encrypt استفاده شود، درج این گزینه الزامی است. در عملیات‌های .Fl decrypt این شناسه برای مکان‌یابی کلید مربوطه استفاده می‌شود؛ اگر ارائه نشود، تلاشی برای رمزگشایی تمام ساختارهای KEKRecipientInfo صورت می‌گیرد. .It Fl signer Ar file گواهی امضاکننده هنگام امضا یا امضای مجدد یک پیام؛ اگر به بیش از یک امضاکننده نیاز باشد، این گزینه می‌تواند چندین بار استفاده شود. اگر پیامی در حال اعتبارسنجی باشد و اعتبارسنجی موفقیت‌آمیز باشد، گواهی‌های امضاکنندگان در این فایل نوشته خواهند شد. .It Xo .Fl stream | .Fl indef | .Fl noindef .Xc گزینه‌های .Fl stream و .Fl indef معادل یکدیگر هستند و ورودی/خروجی جریانی (streaming I/O) را برای عملیات کدگذاری فعال می‌کنند. این کار امکان پردازش تک‌گذره داده‌ها را بدون نیاز به نگهداری تمام محتوا در حافظه فراهم کرده و پشتیبانی از فایل‌های بسیار حجیم را ممکن می‌سازد. حالت جریانی برای امضای S/MIME با داده‌های جداشده در صورتی که قالب خروجی .Cm smime باشد به طور خودکار فعال می‌شود؛ در حال حاضر برای سایر عملیات به طور پیش‌فرض خاموش است. گزینه .Fl noindef ورودی/خروجی جریانی را در مواردی که منجر به تولید کدگذاری ساخت‌یافته با طول نامعین می‌شود غیرفعال می‌کند. این گزینه در حال حاضر تاثیری ندارد. .It Fl text افزودن هدرهای MIME متن ساده (text/plain) به پیام ارائه‌شده هنگام رمزگذاری یا امضا. هنگام رمزگشایی یا اعتبارسنجی، هدرهای متنی را حذف می‌کند: اگر پیام رمزگشایی‌شده یا اعتبارسنجی‌شده از نوع MIME text/plain نباشد، خطایی رخ خواهد داد. .It Fl verify_retcode تنظیم کد خطای اعتبارسنجی به عنوان کد خروج جهت نشان دادن اینکه چه خطای اعتبارسنجی رخ داده است. تنها توسط عملیات .Fl verify پشتیبانی می‌شود. مقدار کد خروج منهای ۳۲ نشان‌دهنده کد خطای اعتبارسنجی است. برای فهرست کدهای خطای اعتبارسنجی به دستور .Nm verify مراجعه کنید. .El .Pp کدهای خروج برای .Nm cms به شرح زیر هستند: .Pp .Bl -tag -width "XXXX" -offset 3n -compact .It 0 عملیات کاملاً موفقیت‌آمیز بود. .It 1 خطایی هنگام تجزیه گزینه‌های دستور رخ داد. .It 2 یکی از فایل‌های ورودی قابل خواندن نبود. .It 3 خطایی هنگام ایجاد فایل CMS یا هنگام خواندن پیام MIME رخ داد. .It 4 خطایی هنگام رمزگشایی یا اعتبارسنجی پیام رخ داد. .It 5 پیام به درستی اعتبارسنجی شد اما هنگام نوشتن گواهی‌های امضاکننده خطایی رخ داد. .It 6 خطایی هنگام نوشتن فایل خروجی رخ داد. .It 32+ خطای اعتبارسنجی رخ داد در حالی که گزینه .Fl verify_retcode مشخص شده بود. .El .Tg crl .Sh CRL .Bl -hang -width "openssl crl" .It Nm openssl crl .Bk -words .Op Fl CAfile Ar file .Op Fl CApath Ar dir .Op Fl crlnumber .Op Fl fingerprint .Op Fl hash .Op Fl hash_old .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl issuer .Op Fl lastupdate .Op Fl nameopt Ar option .Op Fl nextupdate .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl text .Op Fl verify .Ek .El .Pp دستور .Nm crl فایل‌های فهرست ابطال گواهی (CRL) را در قالب DER یا PEM پردازش می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl CAfile Ar file اعتبارسنجی امضا روی CRL با جستجوی گواهی صادرکننده در .Ar file . .It Fl CApath Ar directory اعتبارسنجی امضا روی CRL با جستجوی گواهی صادرکننده در .Ar dir . این پوشه باید یک پوشه استاندارد گواهی باشد، بدین معنا که هشی از هر نام موضوع (با استفاده از .Cm x509 Fl hash ) باید به هر گواهی پیوند داده شده باشد. .It Fl crlnumber چاپ شماره CRL. .It Fl fingerprint چاپ اثرانگشت CRL. .It Fl hash خروجی دادن مقدار هش نام صادرکننده. از این مقدار می‌توان برای جستجوی CRLها در یک دایرکتوری بر اساس نام صادرکننده استفاده کرد. .It Fl hash_old خروجی دادن هش سبک قدیمی (MD5) از نام صادرکننده. .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .It Fl issuer چاپ نام صادرکننده در خروجی. .It Fl lastupdate چاپ فیلد .Cm thisUpdate در خروجی. نام این گزینه به دلایل تاریخی نام‌گذاری نادرست شده است. .It Fl nameopt Ar option تعیین گزینه‌های نام گواهی. .It Fl nextupdate چاپ فیلد .Cm nextUpdate در خروجی. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده CRL به خروجی. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl text چاپ CRL در قالب متن ساده. .It Fl verify اعتبارسنجی امضای موجود در CRL. .El .Tg crl2pkcs7 .Sh CRL2PKCS7 .Bl -hang -width "openssl crl2pkcs7" .It Nm openssl crl2pkcs7 .Bk -words .Op Fl certfile Ar file .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl nocrl .Op Fl out Ar file .Op Fl outform Cm der | pem .Ek .El .Pp دستور .Nm crl2pkcs7 یک CRL اختیاری و یک یا چند گواهی را دریافت کرده و آن‌ها را به یک ساختار تبهگن (degenerate) .Qq فقط گواهی‌ها (certificates only) در قالب PKCS#7 تبدیل می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl certfile Ar file افزودن گواهی‌های موجود در .Ar file با قالب PEM به ساختار PKCS#7. از این گزینه می‌توان بیش از یک بار برای خواندن گواهی‌ها از چندین فایل استفاده کرد. .It Fl in Ar file خواندن CRL از .Ar file ، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .It Fl nocrl به طور معمول، یک CRL در فایل خروجی گنجانده می‌شود. با این گزینه، هیچ CRLای در فایل خروجی درج نمی‌شود و هیچ CRLای از فایل ورودی خوانده نخواهد شد. .It Fl out Ar file نوشتن ساختار PKCS#7 در .Ar file ، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .El .Tg dgst .Sh DGST .Bl -hang -width "openssl dgst" .It Nm openssl dgst .Bk -words .Op Fl cdr .Op Fl binary .Op Fl Ar digest .Op Fl hex .Op Fl hmac Ar key .Op Fl keyform Cm pem .Op Fl mac Ar algorithm .Op Fl macopt Ar nm : Ns Ar v .Op Fl out Ar file .Op Fl passin Ar arg .Op Fl prverify Ar file .Op Fl sign Ar file .Op Fl signature Ar file .Op Fl sigopt Ar nm : Ns Ar v .Op Fl verify Ar file .Op Ar .Ek .El .Pp توابع خلاصه پیام (digest)، چکیده پیام مربوط به .Ar file یا .Ar files ارائه‌شده را در قالب هگزادسیمال در خروجی چاپ می‌کنند. همچنین می‌توان از آن‌ها برای امضای دیجیتال و اعتبارسنجی استفاده کرد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl binary خروجی دادن خلاصه پیام یا امضا در قالب دودویی (باینری). .It Fl c چاپ خلاصه پیام در گروه‌های دو رقمی جداشده با دونقطه. .It Fl d چاپ اطلاعات اشکال‌زدایی BIO. .It Fl Ar digest استفاده از الگوریتم خلاصه پیام مشخص‌شده در .Ar digest . حالت پیش‌فرض SHA256 است. خلاصه‌های پیام موجود را می‌توان با دستور .Nm openssl .Cm list-message-digest-commands مشاهده کرد. دستورهای زیر معادل یکدیگرند: .Nm openssl dgst .Fl sha256 و .Nm openssl .Cm sha256 . .It Fl hex خلاصه پیام به صورت تخلیه هگز (hex dump) چاپ شود. این حالت پیش‌فرض برای یک خلاصه پیام .Qq عادی در مقایسه با امضای دیجیتال است. .It Fl hmac Ar key ایجاد یک کد اصالت‌سنجی پیام مبتنی بر هش (HMAC) با استفاده از .Ar key . .It Fl keyform Cm pem قالب کلید را برای امضای خلاصه پیام مشخص می‌کند. .It Fl mac Ar algorithm ایجاد یک کد اصالت‌سنجی پیام کلیددار (MAC). رایج‌ترین الگوریتم MAC، الگوریتم HMAC (کد اصالت‌سنجی پیام مبتنی بر هش) است، اما الگوریتم‌های MAC دیگری نیز وجود دارند که مبتنی بر هش نیستند. کلیدهای MAC و سایر گزینه‌ها باید از طریق پارامتر .Fl macopt تنظیم شوند. .It Fl macopt Ar nm : Ns Ar v ارسال گزینه‌ها به الگوریتم MAC، که توسط .Fl mac مشخص شده است. گزینه‌های زیر توسط HMAC پشتیبانی می‌شوند: .Bl -tag -width Ds .It Cm key : Ns Ar string کلید MAC را به صورت یک رشته الفبایی-عددی مشخص می‌کند (زمانی استفاده شود که کلید تنها شامل نویسه‌های قابل چاپ باشد). طول رشته باید با محدودیت‌های الگوریتم MAC مطابقت داشته باشد. .It Cm hexkey : Ns Ar string کلید MAC را در قالب هگزادسیمال مشخص می‌کند (دو رقم هگز برای هر بایت). طول کلید باید با محدودیت‌های الگوریتم MAC مطابقت داشته باشد. .El .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl passin Ar arg منبع رمز عبور کلید. .It Fl prverify Ar file اعتبارسنجی امضا با استفاده از کلید خصوصی موجود در .Ar file . خروجی یکی از عبارت‌های .Qq Verification OK یا .Qq Verification Failure خواهد بود. .It Fl r چاپ خلاصه پیام در قالب ابزارهای هسته (coreutils). .It Fl sign Ar file امضای دیجیتالی خلاصه پیام با استفاده از کلید خصوصی موجود در .Ar file . .It Fl signature Ar file امضای واقعی برای اعتبارسنجی. .It Fl sigopt Ar nm : Ns Ar v ارسال گزینه‌ها به الگوریتم امضا در طول عملیات امضا یا اعتبارسنجی. نام‌ها و مقادیر این گزینه‌ها وابسته به الگوریتم هستند. .It Fl verify Ar file اعتبارسنجی امضا با استفاده از کلید عمومی موجود در .Ar file . خروجی یکی از عبارت‌های .Qq Verification OK یا .Qq Verification Failure خواهد بود. .It Ar فایل یا فایل‌ها برای محاسبه خلاصه پیام. در صورت عدم تعیین فایل، از ورودی استاندارد استفاده می‌شود. .El .Tg dhparam .Sh DHPARAM .Bl -hang -width "openssl dhparam" .It Nm openssl dhparam .Bk -words .Op Fl 2 | 5 .Op Fl check .Op Fl dsaparam .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl text .Op Ar numbits .Ek .El .Pp دستور .Nm dhparam برای مدیریت و دستکاری فایل‌های پارامتر دیفی-هلمن (DH) استفاده می‌شود. تنها قالب قدیمی‌تر PKCS#3 DH پشتیبانی می‌شود و نه قالب جدیدتر X9.42 DH. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 2 , 5 مولد (generator) مورد استفاده؛ ۲ مقدار پیش‌فرض است. در صورت وجود، فایل ورودی نادیده گرفته شده و پارامترها به جای آن تولید می‌شوند. .It Fl check بررسی و اعتبارسنجی پارامترهای DH. .It Fl dsaparam خواندن یا ایجاد پارامترهای DSA، که در خروجی به قالب DH تبدیل می‌شوند. در غیر این صورت، اعداد اول .Qq قوی .Pq به گونه‌ای که (p-1)/2 نیز اول باشد برای تولید پارامترهای DH استفاده خواهند شد. .Pp تولید پارامترهای DH با گزینه .Fl dsaparam بسیار سریع‌تر است، و طول توان پیشنهادی کوتاه‌تر است، که باعث کارایی بیشتر در تبادل کلید DH می‌شود. توجه داشته باشید که با چنین پارامترهای DH به سبک DSA، برای هر بار استفاده باید یک کلید تازه DH ایجاد شود تا از حملات زیرگروه کوچک (small-subgroup) که در غیر این صورت ممکن است رخ دهد جلوگیری گردد. .It Fl in Ar file فایل ورودی برای خواندن از آن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده پارامترها به خروجی. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl text چاپ پارامترهای DH در قالب متن ساده. .It Ar numbits تولید یک مجموعه پارامتر با اندازه .Ar numbits . این مورد باید آخرین گزینه باشد. اگر مشخص نشود، مقدار ۲۰۴۸ استفاده می‌شود. در صورت وجود این مقدار، فایل ورودی نادیده گرفته شده و پارامترها تولید خواهند شد. .El .Tg dsa .Sh DSA .Bl -hang -width "openssl dsa" .It Nm openssl dsa .Bk -words .Oo .Fl aes128 | aes192 | aes256 | .Fl des | des3 .Oc .Op Fl in Ar file .Op Fl inform Cm der | pem | pvk .Op Fl modulus .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem | pvk .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl pubin .Op Fl pubout .Op Fl pvk-none | pvk-strong | pvk-weak .Op Fl text .Ek .El .Pp دستور .Nm dsa کلیدهای DSA را پردازش می‌کند. این کلیدها را می‌توان میان فرمت‌های گوناگون تبدیل کرده و اجزای آن‌ها را چاپ نمود. .Pp .Sy نکته : این دستور از قالب سنتی سازگار با .Nm SSLeay برای رمزنگاری کلید خصوصی استفاده می‌کند: برنامه‌های جدیدتر باید از قالب امن‌تر PKCS#8 با استفاده از دستور .Nm pkcs8 استفاده کنند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Xo .Fl aes128 | aes192 | aes256 | .Fl des | des3 .Xc رمزگذاری کلید خصوصی به ترتیب با الگوریتم‌های AES، DES یا Triple DES پیش از ارسال آن به خروجی. از کاربر عبارت عبور (passphrase) درخواست می‌شود. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، کلید به صورت متن آشکار نوشته می‌شود. این بدان معناست که استفاده از ابزار .Nm dsa برای خواندن یک کلید رمزگذاری‌شده بدون تعیین گزینه رمزگذاری می‌تواند برای حذف عبارت عبور از کلید استفاده شود، یا با تنظیم گزینه‌های رمزگذاری می‌توان برای افزودن یا تغییر عبارت عبور استفاده کرد. این گزینه‌ها تنها با فایل‌های خروجی با قالب PEM قابل استفاده هستند. .It Fl in Ar file فایل ورودی برای خواندن از آن، یا ورودی استاندارد در صورت عدم تعیین. اگر کلید رمزگذاری شده باشد، عبارت عبور درخواست خواهد شد. .It Fl inform Cm der | pem | pvk قالب ورودی. .It Fl modulus چاپ مقدار مولفه کلید عمومی از کلید مورد نظر. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده کلید به خروجی. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. اگر هرگونه گزینه رمزگذاری تنظیم شده باشد، عبارت عبور درخواست خواهد شد. .It Fl outform Cm der | pem | pvk قالب خروجی. .It Fl passin Ar arg منبع رمز عبور کلید. .It Fl passout Ar arg منبع رمز عبور فایل خروجی. .It Fl pubin خواندن یک کلید عمومی به جای کلید خصوصی. .It Fl pubout خروجی دادن یک کلید عمومی به جای کلید خصوصی. در صورتی که ورودی یک کلید عمومی باشد به طور خودکار فعال می‌شود. .It Xo .Fl pvk-none | pvk-strong | pvk-weak .Xc فعال یا غیرفعال کردن کدگذاری PVK. حالت پیش‌فرض .Fl pvk-strong است. .It Fl text چاپ کلید عمومی/خصوصی در قالب متن آشکار. .El .Tg dsaparam .Sh DSAPARAM .Bl -hang -width "openssl dsaparam" .It Nm openssl dsaparam .Bk -words .Op Fl genkey .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl text .Op Ar numbits .Ek .El .Pp دستور .Nm dsaparam برای مدیریت یا تولید فایل‌های پارامتر DSA استفاده می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl genkey تولید یک کلید DSA با استفاده از پارامترهای مشخص‌شده یا تولیدشده. .It Fl in Ar file فایل ورودی برای خواندن از آن، یا ورودی استاندارد در صورت عدم تعیین. اگر پارامتر .Ar numbits درج شده باشد، این گزینه نادیده گرفته می‌شود. .It Fl inform Cm der | pem قالب ورودی. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده پارامترها به خروجی. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl text چاپ پارامترهای DSA در قالب متن آشکار. .It Ar numbits تولید یک مجموعه پارامتر با اندازه .Ar numbits . در صورت گنجاندن این گزینه، فایل ورودی نادیده گرفته می‌شود. .El .Tg ec .Sh EC .Bl -hang -width "openssl ec" .It Nm openssl ec .Bk -words .Op Fl conv_form Ar arg .Op Fl des .Op Fl des3 .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl param_enc Ar arg .Op Fl param_out .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl pubin .Op Fl pubout .Op Fl text .Ek .El .Pp دستور .Nm ec کلیدهای منحنی بیضوی (EC) را پردازش می‌کند. این کلیدها را می‌توان میان فرمت‌های مختلف تبدیل کرد و اجزای آن‌ها را چاپ نمود. .Nm openssl از قالب کلید خصوصی مشخص‌شده در .Dq SEC 1: Elliptic Curve Cryptography .Pq Lk https://www.secg.org . استفاده می‌کند. برای تبدیل یک کلید خصوصی EC به قالب کلید خصوصی PKCS#8 از دستور .Nm pkcs8 استفاده کنید. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl conv_form Ar arg نحوه تبدیل نقاط روی منحنی بیضوی به رشته‌های اوکتت را مشخص می‌کند. مقادیر ممکن عبارتند از: .Cm compressed ، .Cm uncompressed (پیش‌فرض)، و .Cm hybrid . برای اطلاعات بیشتر درباره فرم‌های تبدیل نقطه، استاندارد X9.62 را ببینید. .It Fl des | des3 رمزگذاری کلید خصوصی با DES، Triple DES یا هر رمزگذار دیگری که توسط .Nm openssl پشتیبانی می‌شود. از کاربر عبارت عبور درخواست خواهد شد. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، کلید به صورت متن آشکار نوشته می‌شود. این بدان معناست که استفاده از ابزار .Nm ec برای خواندن یک کلید رمزگذاری‌شده بدون تعیین گزینه رمزگذاری می‌تواند برای حذف عبارت عبور از کلید استفاده شود، یا با تنظیم گزینه‌های رمزگذاری می‌توان برای افزودن یا تغییر عبارت عبور از آن استفاده نمود. این گزینه‌ها تنها با فایل‌های خروجی قالب PEM قابل استفاده هستند. .It Fl in Ar file فایل ورودی برای خواندن کلید از آن، یا ورودی استاندارد در صورت عدم تعیین. اگر کلید رمزگذاری شده باشد، عبارت عبور درخواست خواهد شد. .It Fl inform Cm der | pem قالب ورودی. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده کلید به خروجی. .It Fl out Ar file نام فایل خروجی برای نوشتن در آن، یا خروجی استاندارد در صورت عدم تعیین. اگر هرگونه گزینه رمزگذاری تنظیم شده باشد، عبارت عبور درخواست خواهد شد. .It Fl outform Cm der | pem قالب خروجی. .It Fl param_enc Ar arg مشخص می‌کند که پارامترهای منحنی بیضوی چگونه کدگذاری شوند. مقادیر ممکن عبارتند از: .Cm named_curve ، یعنی پارامترهای EC توسط یک OID مشخص می‌شوند؛ یا .Cm explicit ، که در آن پارامترهای EC به صراحت داده می‌شوند (برای تعریف ساختارهای پارامتر EC به RFC 3279 مراجعه کنید). مقدار پیش‌فرض .Cm named_curve است. نکته: گزینه جایگزین .Cm implicitlyCA همان‌طور که در RFC 3279 مشخص شده، در حال حاضر پیاده‌سازی نشده است. .It Fl param_out چاپ پارامترهای منحنی بیضوی. .It Fl passin Ar arg منبع رمز عبور کلید. .It Fl passout Ar arg منبع رمز عبور فایل خروجی. .It Fl pubin خواندن یک کلید عمومی به جای کلید خصوصی. .It Fl pubout خروجی دادن یک کلید عمومی به جای کلید خصوصی. در صورتی که ورودی یک کلید عمومی باشد به طور خودکار فعال می‌شود. .It Fl text چاپ کلید عمومی/خصوصی در قالب متن آشکار. .El .Tg ecparam .Sh ECPARAM .Bl -hang -width "openssl ecparam" .It Nm openssl ecparam .Bk -words .Op Fl check .Op Fl conv_form Ar arg .Op Fl genkey .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl list_curves .Op Fl name Ar arg .Op Fl no_seed .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl param_enc Ar arg .Op Fl text .Ek .El .Pp دستور .Nm ecparam برای مدیریت یا ایجاد فایل‌های پارامتر EC استفاده می‌شود. .Nm openssl قادر به تولید گروه‌های جدید نیست، بنابراین .Nm ecparam تنها می‌تواند پارامترهای EC را از منحنی‌های شناخته‌شده (نام‌گذاری‌شده) ایجاد کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl check اعتبارسنجی پارامترهای منحنی بیضوی. .It Fl conv_form Ar arg نحوه تبدیل نقاط روی منحنی بیضوی به رشته‌های اوکتت را مشخص می‌کند. مقادیر ممکن عبارتند از: .Cm compressed ، .Cm uncompressed (پیش‌فرض)، و .Cm hybrid . برای اطلاعات بیشتر درباره فرم‌های تبدیل نقطه، استاندارد X9.62 را ببینید. .It Fl genkey تولید یک کلید خصوصی EC با استفاده از پارامترهای مشخص‌شده. .It Fl in Ar file فایل ورودی برای خواندن از آن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .It Fl list_curves چاپ فهرستی از تمام نام‌های پارامتر EC که در حال حاضر پیاده‌سازی شده‌اند و خروج. .It Fl name Ar arg استفاده از پارامترهای EC با "نام کوتاه" مشخص‌شده. .It Fl no_seed دانه (seed) مورد استفاده برای تولید پارامتر را در ساختار ECParameters درج نمی‌کند (به RFC 3279 مراجعه کنید). .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده پارامترها به خروجی. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl param_enc Ar arg مشخص می‌کند که پارامترهای منحنی بیضوی چگونه کدگذاری شوند. مقادیر ممکن عبارتند از: .Cm named_curve ، یعنی پارامترهای EC توسط یک OID مشخص می‌شوند، یا .Cm explicit ، که در آن پارامترهای EC به صراحت داده می‌شوند (برای تعریف ساختارهای پارامتر EC به RFC 3279 مراجعه کنید). مقدار پیش‌فرض .Cm named_curve است. نکته: گزینه جایگزین .Cm implicitlyCA همان‌طور که در RFC 3279 مشخص شده، در حال حاضر پیاده‌سازی نشده است. .It Fl text چاپ پارامترهای EC در قالب متن آشکار. .El .Tg enc .Sh ENC .Bl -hang -width "openssl enc" .It Nm openssl enc .Bk -words .Fl ciphername .Op Fl AadePpv .Op Fl base64 .Op Fl bufsize Ar number .Op Fl debug .Op Fl in Ar file .Op Fl iter Ar iterations .Op Fl iv Ar IV .Op Fl K Ar key .Op Fl k Ar password .Op Fl kfile Ar file .Op Fl md Ar digest .Op Fl none .Op Fl nopad .Op Fl nosalt .Op Fl out Ar file .Op Fl pass Ar arg .Op Fl pbkdf2 .Op Fl S Ar salt .Op Fl salt .Ek .El .Pp دستورات رمزگذاری متقارن امکان رمزگذاری یا رمزگشایی داده‌ها را با استفاده از انواع رمزگذارهای بلوکی و جریانی و بر مبنای کلیدهای مشتق‌شده از گذرواژه یا کلیدهای مشخص‌شده فراهم می‌کنند. کدگذاری یا کدگشایی Base64 نیز می‌تواند به صورت مستقل یا همراه با رمزگذاری یا رمزگشایی انجام شود. این برنامه می‌تواند به یکی از دو صورت .Nm openssl Ar ciphername یا .Nm openssl enc - Ns Ar ciphername فراخوانی شود. .Pp برخی از این رمزگذارها دارای کلیدهای طولانی نیستند و برخی دیگر در صورت عدم استفاده صحیح پیامدهای امنیتی دارند. تمام رمزگذارهای بلوکی به طور معمول از لایه‌گذاری PKCS#5 (معروف به لایه‌گذاری استاندارد بلوک) استفاده می‌کنند. اگر لایه‌گذاری غیرفعال شود، طول داده ورودی باید مضربی از طول بلوک رمزگذار باشد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl A اگر گزینه .Fl a تنظیم شده باشد، داده‌ها را در یک خط با Base64 پردازش می‌کند. .It Fl a , base64 پردازش داده‌ها با Base64. این بدان معناست که در صورت رمزگذاری، داده‌ها پس از رمزگذاری با Base64 کدگذاری می‌شوند. در صورت رمزگشایی، داده‌های ورودی پیش از رمزگشایی با Base64 کدگشایی می‌شوند. .It Fl bufsize Ar number تنظیم اندازه بافر برای ورودی/خروجی. .It Fl d رمزگشایی داده‌های ورودی. .It Fl debug اشکال‌زدایی BIOهای مورد استفاده برای ورودی/خروجی. .It Fl e رمزگذاری داده‌های ورودی. این حالت پیش‌فرض است. .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl iter Ar iterations استفاده از تابع اشتقاق کلید PBKDF2 با .Ar iterations تکرار (iteration). .It Fl iv Ar IV بردار اولیه واقعی .Ar IV .Pq بردار مقداردهی اولیه یا Initialization Vector مورد استفاده: این مقدار باید به عنوان رشته‌ای فقط شامل ارقام هگزادسیمال ارائه شود. هنگامی که تنها .Ar key با استفاده از گزینه .Fl K مشخص شود، مقدار IV باید به طور صریح تعریف گردد. هنگامی که گذرواژه با استفاده از یکی از گزینه‌های دیگر مشخص شود، مقدار IV از این گذرواژه تولید می‌شود. .It Fl K Ar key کلید واقعی .Ar key مورد استفاده: این مقدار باید به عنوان رشته‌ای فقط شامل ارقام هگزادسیمال ارائه شود. اگر تنها کلید مشخص شود، بردار IV نیز باید با استفاده از گزینه .Fl iv مشخص گردد. هنگامی که هر دوی .Ar key و .Ar password مشخص شوند، کلید .Ar key داده‌شده با گزینه .Fl K استفاده شده و IV تولیدشده از گذرواژه به کار گرفته می‌شود. تعیین همزمان هر دو پارامتر .Ar key و .Ar password چندان منطقی به نظر نمی‌رسد. .It Fl k Ar password گذرواژه .Ar password برای اشتقاق کلید از آن. گزینه .Fl pass جایگزین آن شده است. .It Fl kfile Ar file خواندن گذرواژه برای اشتقاق کلید از سطر اول .Ar file . گزینه .Fl pass جایگزین آن شده است. .It Fl md Ar digest استفاده از خلاصه پیام .Ar digest برای ایجاد کلید از عبارت عبور. در حال حاضر مقدار پیش‌فرض .Cm sha256 است. .It Fl none استفاده از رمزگذار NULL (بدون هیچ‌گونه رمزگذاری یا رمزگشایی ورودی). .It Fl nopad غیرفعال کردن لایه‌گذاری استاندارد بلوک. .It Fl nosalt عدم استفاده از نمک (salt) در روال‌های اشتقاق کلید. از این گزینه هرگز نباید استفاده شود چرا که امکان انجام حملات فرهنگ‌لغتی (dictionary attacks) کارآمد روی گذرواژه و حمله به داده‌های رمزگذاری‌شده با رمزگذارهای جریانی را فراهم می‌سازد. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl P چاپ salt، key و IV مورد استفاده و سپس خروج فوری؛ هیچ رمزگذاری یا رمزگشایی انجام نمی‌دهد. .It Fl p چاپ salt، key و IV مورد استفاده. .It Fl pass Ar arg منبع گذرواژه. .It Fl pbkdf2 استفاده از تابع اشتقاق کلید PBKDF2 با مقدار پیش‌فرض ۱۰,۰۰۰ تکرار. .It Fl S Ar salt نمک (salt) واقعی .Ar salt مورد استفاده: باید به عنوان رشته‌ای فقط شامل ارقام هگزادسیمال ارائه شود. .It Fl salt استفاده از نمک در روال‌های اشتقاق کلید (پیش‌فرض). هنگامی که نمک استفاده می‌شود، هشت بایت اول داده‌های رمزگذاری‌شده برای نمک رزرو می‌شوند: این مقدار هنگام رمزگذاری فایل به طور تصادفی تولید شده و هنگام رمزگشایی از فایل رمزگذاری‌شده خوانده می‌شود. .It Fl v چاپ جزئیات بیشتر درباره پردازش. .El .Tg errstr .Sh ERRSTR .Nm openssl errstr .Ar errno ... .Pp دستور .Nm errstr شماره خطا را به رشته متنی خطا تبدیل می‌کند و رشته‌ای خوانا برای انسان که نشان‌دهنده کد خطای .Ar errno است تولید می‌نماید. این رشته از طریق تابع .Xr ERR_error_string_n 3 به دست می‌آید و دارای قالب زیر است: .Pp .Dl error:[error code]:[library name]:[function name]:[reason string] .Pp بخش .Bq error code یک عدد هگزادسیمال ۸ رقمی است. سایر فیلدها شامل .Bq library name ، .Bq function name و .Bq reason string همگی متن ASCII هستند. .Tg gendsa .Sh GENDSA .Bl -hang -width "openssl gendsa" .It Nm openssl gendsa .Bk -words .Oo .Fl aes128 | aes192 | aes256 | camellia128 | .Fl camellia192 | camellia256 | des | des3 | idea .Oc .Op Fl out Ar file .Op Fl passout Ar arg .Ar paramfile .Ek .El .Pp دستور .Nm gendsa یک کلید خصوصی DSA را از روی یک فایل پارامتر DSA تولید می‌کند (که معمولاً توسط دستور .Nm openssl dsaparam ایجاد شده است). تولید کلید DSA اساساً چیزی بیش از تولید اعداد تصادفی نیست، بنابراین بسیار سریع‌تر از برای مثال تولید کلید RSA است. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Xo .Fl aes128 | aes192 | aes256 | .Fl camellia128 | camellia192 | camellia256 | .Fl des | des3 | .Fl idea .Xc رمزگذاری کلید خصوصی به ترتیب با رمزگذارهای AES، CAMELLIA، DES، Triple DES یا IDEA پیش از ارسال آن به خروجی. عبارت عبور درخواست خواهد شد. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، از هیچ رمزگذاری استفاده نمی‌شود. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Ar paramfile مشخص کردن فایل پارامتر DSA مورد استفاده. پارامترهای موجود در این فایل اندازه کلید خصوصی را تعیین می‌کنند. .El .Tg genpkey .Sh GENPKEY .Bl -hang -width "openssl genpkey" .It Nm openssl genpkey .Bk -words .Op Fl algorithm Ar alg .Op Ar cipher .Op Fl genparam .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl paramfile Ar file .Op Fl pass Ar arg .Op Fl pkeyopt Ar opt : Ns Ar value .Op Fl text .Ek .El .Pp دستور .Nm genpkey کلیدهای خصوصی تولید می‌کند. استفاده از این برنامه نسبت به ابزارهای اختصاصی هر الگوریتم ترجیح داده می‌شود زیرا می‌توان از گزینه‌های اضافی الگوریتم‌ها استفاده کرد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl algorithm Ar alg الگوریتم کلید عمومی مورد استفاده، مانند RSA، DSA یا DH. این گزینه باید پیش از هر گزینه .Fl pkeyopt قرار گیرد. گزینه‌های .Fl paramfile و .Fl algorithm ناسازگار با یکدیگر (مانعة‌الجمع) هستند. .It Ar cipher رمزگذاری کلید خصوصی با رمزگذار ارائه‌شده. هر نام الگوریتمی که توسط .Xr EVP_get_cipherbyname 3 پذیرفته شود، قابل قبول است. .It Fl genparam تولید یک مجموعه پارامتر به جای کلید خصوصی. این گزینه باید پیش از گزینه‌های .Fl algorithm ، .Fl paramfile یا .Fl pkeyopt قرار گیرد. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl paramfile Ar file برخی الگوریتم‌های کلید عمومی یک کلید خصوصی را بر اساس مجموعه‌ای از پارامترها تولید می‌کنند که می‌توان با این گزینه ارائه کرد. در صورت استفاده از این گزینه، الگوریتم کلید عمومی مورد استفاده توسط پارامترها تعیین می‌شود. این گزینه باید پیش از گزینه‌های .Fl pkeyopt قرار گیرد. گزینه‌های .Fl paramfile و .Fl algorithm مانعة‌الجمع هستند. .It Fl pass Ar arg منبع گذرواژه فایل خروجی. .It Fl pkeyopt Ar opt : Ns Ar value تنظیم گزینه الگوریتم کلید عمومی .Ar opt بر روی .Ar value ، به صورت زیر: .Bl -tag -width Ds -offset indent .It rsa_keygen_bits : Ns Ar numbits (RSA) تعداد بیت‌ها در کلید تولیدشده. پیش‌فرض ۲۰۴۸ است. .It rsa_keygen_pubexp : Ns Ar value (RSA) مقدار توان عمومی RSA. می‌تواند یک عدد ده‌دهی بزرگ یا مقدار هگزادسیمال با پیشوند 0x باشد. پیش‌فرض ۶۵۵۳۷ است. .It dsa_paramgen_bits : Ns Ar numbits (DSA) تعداد بیت‌ها در پارامترهای تولیدشده. پیش‌فرض ۱۰۲۴ است. .It dh_paramgen_prime_len : Ns Ar numbits (DH) تعداد بیت‌ها در پارامتر اول .Ar p . .It dh_paramgen_generator : Ns Ar value (DH) مقدار مورد استفاده برای مولد .Ar g . .It ec_paramgen_curve : Ns Ar curve (EC) منحنی بیضوی مورد استفاده. .El .It Fl text چاپ کلید خصوصی/عمومی در قالب متن آشکار. .El .Tg genrsa .Sh GENRSA .Bl -hang -width "openssl genrsa" .It Nm openssl genrsa .Bk -words .Op Fl 3 | f4 .Oo .Fl aes128 | aes192 | aes256 | camellia128 | .Fl camellia192 | camellia256 | des | des3 | idea .Oc .Op Fl out Ar file .Op Fl passout Ar arg .Op Ar numbits .Ek .El .Pp دستور .Nm genrsa یک کلید خصوصی RSA تولید می‌کند، که اساساً شامل تولید دو عدد اول است. هنگام تولید کلید، نمادهای مختلفی برای نشان دادن روند پیشرفت تولید در خروجی نمایش داده می‌شوند. نماد .Sq \&. نشان‌دهنده هر عددی است که آزمون غربال اولیه را پشت سر گذاشته است؛ نماد .Sq + بدین معناست که یک عدد یک دور از آزمون اول بودن میلر-رابین (Miller-Rabin) را گذرانده است؛ نماد .Sq * بدین معناست که عدد در آزمون اول بودن مردود شده و باید مجدداً از نو تولید شود. یک خط جدید بدین معناست که عدد تمام آزمون‌های اول بودن را پشت سر گذاشته است (تعداد واقعی آزمون‌ها به اندازه کلید بستگی دارد). .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 3 | f4 توان عمومی مورد استفاده، ۳ یا ۶۵۵۳۷. حالت پیش‌فرض ۶۵۵۳۷ است. .It Xo .Fl aes128 | aes192 | aes256 | .Fl camellia128 | camellia192 | camellia256 | .Fl des | des3 | .Fl idea .Xc رمزگذاری کلید خصوصی به ترتیب با الگوریتم‌های AES، CAMELLIA، DES، Triple DES یا IDEA پیش از ارسال آن به خروجی. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، رمزگذاری انجام نمی‌شود. اگر از رمزگذاری استفاده شود، عبارت عبور درخواست می‌شود مگر اینکه از طریق گزینه .Fl passout ارائه شده باشد. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Ar numbits اندازه کلید خصوصی برای تولید به بیت. این گزینه باید آخرین گزینه مشخص‌شده باشد. پیش‌فرض ۲۰۴۸ است. .El .Tg ocsp .Sh OCSP .Bl -hang -width "openssl ocsp" .It Nm openssl ocsp .Bk -words .Op Fl CA Ar file .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl cert Ar file .Op Fl dgst Ar alg .Op Fl header Ar name value .Op Fl host Ar hostname : Ns Ar port .Op Fl ignore_err .Op Fl index Ar indexfile .Op Fl issuer Ar file .Op Fl ndays Ar days .Op Fl nmin Ar minutes .Op Fl no_cert_checks .Op Fl no_cert_verify .Op Fl no_certs .Op Fl no_chain .Op Fl no_explicit .Op Fl no_intern .Op Fl no_nonce .Op Fl no_signature_verify .Op Fl nonce .Op Fl noverify .Op Fl nrequest Ar number .Op Fl out Ar file .Op Fl path Ar path .Op Fl port Ar portnum .Op Fl req_text .Op Fl reqin Ar file .Op Fl reqout Ar file .Op Fl resp_key_id .Op Fl resp_no_certs .Op Fl resp_text .Op Fl respin Ar file .Op Fl respout Ar file .Op Fl rkey Ar file .Op Fl rother Ar file .Op Fl rsigner Ar file .Op Fl serial Ar num .Op Fl sign_other Ar file .Op Fl signer Ar file .Op Fl signkey Ar file .Op Fl status_age Ar age .Op Fl text .Op Fl timeout Ar seconds .Op Fl trust_other .Op Fl url Ar responder_url .Op Fl VAfile Ar file .Op Fl validity_period Ar nsec .Op Fl verify_other Ar file .Ek .El .Pp پروتکل وضعیت برخط گواهی یا Online Certificate Status Protocol (OCSP) برنامه‌ها را قادر می‌سازد وضعیت (ابطال) یک گواهی مشخص را تعیین کنند (RFC 2560). .Pp دستور .Nm ocsp بسیاری از وظایف رایج OCSP را انجام می‌دهد. از این ابزار می‌توان برای چاپ درخواست‌ها و پاسخ‌ها، ایجاد درخواست‌ها و ارسال پرس‌وجو به یک پاسخ‌دهنده OCSP، و همچنین ایفای نقش یک سرور کوچک OCSP استفاده کرد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl CAfile Ar file , Fl CApath Ar directory فایل یا مسیری حاوی گواهی‌های معتمد CA، مورد استفاده برای اعتبارسنجی امضای موجود در پاسخ OCSP. .It Fl cert Ar file افزودن گواهی .Ar file به درخواست. گواهی صادرکننده از گزینه پیشین .Fl issuer برداشته می‌شود، یا در صورت عدم تعیین گواهی صادرکننده خطایی رخ می‌دهد. .It Fl dgst Ar alg استفاده از الگوریتم خلاصه پیام .Ar alg برای شناسایی گواهی در درخواست OCSP. به طور پیش‌فرض از SHA1 استفاده می‌شود. .It Xo .Fl host Ar hostname : Ns Ar port , .Fl path Ar path .Xc ارسال درخواست OCSP به .Ar hostname روی پورت .Ar port . گزینه .Fl path نام مسیر HTTP مورد استفاده را مشخص می‌کند، که پیش‌فرض آن .Pa / است. .It Fl header Ar name value افزودن هدر با مقدار مشخص‌شده به درخواست OCSP ارسالی به پاسخ‌دهنده. این گزینه می‌تواند تکرار شود. .It Fl issuer Ar file گواهی صادرکننده جاری در قالب PEM. می‌تواند چندین بار استفاده شود و باید پیش از هر گزینه .Fl cert قرار گیرد. .It Fl no_cert_checks از انجام هرگونه بررسی اضافی روی گواهی امضاکننده پاسخ OCSP خودداری می‌کند. بدین معنا که بررسی نمی‌کند آیا گواهی امضاکننده مجاز به ارائه اطلاعات وضعیت لازم است یا خیر؛ در نتیجه این گزینه تنها باید برای اهداف آزمایشی استفاده شود. .It Fl no_cert_verify گواهی امضاکننده پاسخ OCSP را اصلاً اعتبارسنجی نمی‌کند. از آنجا که این گزینه اجازه می‌دهد پاسخ OCSP توسط هر گواهی‌ای امضا شده باشد، تنها باید برای اهداف آزمایشی استفاده شود. .It Fl no_certs هیچ گواهی‌ای را در درخواست امضاشده درج نمی‌کند. .It Fl no_chain از گواهی‌های موجود در پاسخ به عنوان گواهی‌های CA غیرمعتمد اضافی استفاده نمی‌کند. .It Fl no_explicit اعتماد صریح برای امضای OCSP را در گواهی ریشه CA بررسی نمی‌کند. .It Fl no_intern هنگام جستجو برای گواهی امضاکننده، گواهی‌های موجود در پاسخ OCSP را نادیده می‌گیرد. گواهی امضاکننده باید با یکی از گزینه‌های .Fl verify_other یا .Fl VAfile مشخص شود. .It Fl no_signature_verify امضای موجود در پاسخ OCSP را بررسی نمی‌کند. از آنجا که این گزینه امضاهای نامعتبر را در پاسخ‌های OCSP نادیده می‌گیرد، به طور معمول تنها برای اهداف آزمایشی استفاده می‌شود. .It Fl nonce , no_nonce افزودن افزونه نانس (nonce) به یک درخواست OCSP، یا غیرفعال کردن افزودن نانس به OCSP. به طور معمول، اگر یک درخواست OCSP با استفاده از گزینه .Fl respin وارد شود، هیچ نانسی اضافه نمی‌شود؛ استفاده از گزینه .Fl nonce افزودن نانس را اجباری می‌کند. اگر یک درخواست OCSP در حال ایجاد باشد (با استفاده از گزینه‌های .Fl cert و .Fl serial )، نانس به طور خودکار اضافه می‌شود؛ مشخص کردن .Fl no_nonce این رفتار را لغو می‌کند. .It Fl noverify تلاشی برای اعتبارسنجی امضای پاسخ OCSP یا مقادیر نانس انجام نمی‌دهد. این گزینه معمولاً تنها برای اشکال‌زدایی استفاده می‌شود زیرا تمام اعتبارسنجی‌های گواهی پاسخ‌دهنده را غیرفعال می‌کند. .It Fl out Ar file مشخص کردن فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl req_text , resp_text , text به ترتیب چاپ شکل متنی درخواست OCSP، پاسخ OCSP، یا هر دو. .It Fl reqin Ar file , Fl respin Ar file خواندن یک فایل درخواست یا پاسخ OCSP از .Ar file . اگر ایجاد درخواست یا پاسخ OCSP توسط سایر گزینه‌ها لحاظ شده باشد (برای نمونه با گزینه‌های .Fl serial ، cert و .Fl host )، این گزینه‌ها نادیده گرفته می‌شوند. .It Fl reqout Ar file , Fl respout Ar file نوشتن درخواست یا پاسخ گواهی کدگذاری‌شده با DER در .Ar file . .It Fl serial Ar num مشابه گزینه .Fl cert است با این تفاوت که گواهی با شماره سریال .Ar num به درخواست اضافه می‌شود. شماره سریال به عنوان یک عدد صحیح ده‌دهی تفسیر می‌شود مگر اینکه با .Sq 0x آغاز شود. اعداد صحیح منفی را نیز می‌توان با قرار دادن علامت منفی پیش از مقدار مشخص کرد. .It Fl sign_other Ar file گواهی‌های اضافی برای گنجاندن در درخواست امضاشده. .It Fl signer Ar file , Fl signkey Ar file امضای درخواست OCSP با استفاده از گواهی مشخص‌شده در گزینه .Fl signer و کلید خصوصی مشخص‌شده توسط گزینه .Fl signkey . اگر گزینه .Fl signkey وجود نداشته باشد، کلید خصوصی از همان فایل گواهی خوانده می‌شود. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، درخواست OCSP امضا نمی‌شود. .It Fl timeout Ar seconds مهلت زمانی اتصال (timeout) به پاسخ‌دهنده OCSP به ثانیه. .It Fl trust_other گواهی‌های مشخص‌شده توسط گزینه .Fl verify_other باید به صراحت معتمد شمرده شوند و هیچ بررسی اضافی روی آن‌ها انجام نخواهد شد. این گزینه زمانی مفید است که زنجیره کامل گواهی پاسخ‌دهنده در دسترس نیست یا اعتماد به یک CA ریشه مناسب نباشد. .It Fl url Ar responder_url مشخص کردن نشانی URL پاسخ‌دهنده. هر دو نشانی اینترنتی HTTP و HTTPS .Pq SSL/TLS را می‌توان تعیین کرد. .It Fl VAfile Ar file فایلی حاوی گواهی‌های پاسخ‌دهنده به صراحت معتمد. معادل گزینه‌های .Fl verify_other و .Fl trust_other . .It Fl validity_period Ar nsec , Fl status_age Ar age محدوده زمانی (به ثانیه) که در پاسخ OCSP تحمل می‌شود. هر پاسخ وضعیت گواهی شامل زمان notBefore و زمان اختیاری notAfter است. زمان جاری باید میان این دو مقدار قرار گیرد، اما فاصله میان این دو زمان ممکن است تنها چند ثانیه باشد. در عمل ممکن است ساعت‌های پاسخ‌دهنده OCSP و کلاینت‌ها دقیقاً همگام نباشند و بنابراین چنین بررسی با شکست مواجه شود. برای جلوگیری از این امر می‌توان از گزینه .Fl validity_period برای تعیین محدوده خطای قابل قبول به ثانیه استفاده کرد که مقدار پیش‌فرض آن ۵ دقیقه است. .Pp اگر زمان notAfter در یک پاسخ حذف شده باشد، بدین معناست که اطلاعات وضعیت جدید بلافاصله در دسترس است. در این حالت، قدمت فیلد notBefore بررسی می‌شود تا اطمینان حاصل شود که قدیمی‌تر از .Ar age ثانیه نیست. به طور پیش‌فرض، این بررسی اضافی انجام نمی‌شود. .It Fl verify_other Ar file فایلی حاوی گواهی‌های اضافی برای جستجو هنگام تلاش برای یافتن گواهی امضای پاسخ OCSP. برخی پاسخ‌دهنده‌ها گواهی واقعی امضاکننده را از پاسخ حذف می‌کنند، بنابراین می‌توان از این گزینه برای ارائه گواهی لازم استفاده کرد. .El .Pp گزینه‌های سرور OCSP به شرح زیر هستند: .Bl -tag -width "XXXX" .It Fl CA Ar file گواهی CA متناظر با اطلاعات ابطال در .Ar indexfile . .It Fl ignore_err نادیده گرفتن پاسخ نامعتبر. .It Fl index Ar indexfile فایل .Ar indexfile یک فایل نمایه متنی در قالب ca حاوی اطلاعات ابطال گواهی است. .Pp اگر این گزینه مشخص شود، .Nm ocsp در حالت پاسخ‌دهنده (responder) عمل می‌کند، در غیر این صورت در حالت کلاینت است. درخواست‌هایی که پاسخ‌دهنده پردازش می‌کند را می‌توان در خط فرمان مشخص کرد (با استفاده از گزینه‌های .Fl issuer و .Fl serial )، در یک فایل ارائه داد (با استفاده از گزینه .Fl respin )، یا از طریق کلاینت‌های خارجی OCSP دریافت کرد (اگر .Ar port یا .Ar url مشخص شده باشد). .Pp اگر این گزینه درج شده باشد، گزینه‌های .Fl CA و .Fl rsigner نیز باید حضور داشته باشند. .It Fl nmin Ar minutes , Fl ndays Ar days تعداد .Ar minutes دقیقه یا .Ar days روز تا زمانی که اطلاعات ابطال تازه در دسترس قرار گیرد: در فیلد nextUpdate استفاده می‌شود. اگر هیچ‌یک از این دو گزینه مشخص نشوند، فیلد nextUpdate حذف می‌شود، به این معنی که اطلاعات ابطال تازه بلافاصله در دسترس است. .It Fl nrequest Ar number خروج پس از دریافت .Ar number درخواست (حالت پیش‌فرض نامحدود است). .It Fl port Ar portnum پورتی که باید برای دریافت درخواست‌های OCSP روی آن شنود شود. همچنین می‌توان با گزینه .Fl url آن را مشخص کرد. .It Fl resp_key_id شناسایی گواهی امضاکننده با استفاده از شناسه کلید (key ID)؛ پیش‌فرض استفاده از نام موضوع است. .It Fl resp_no_certs هیچ گواهی‌ای را در پاسخ OCSP درج نمی‌کند. .It Fl rkey Ar file کلید خصوصی برای امضای پاسخ‌های OCSP؛ در صورت عدم وجود، از فایل مشخص‌شده در گزینه .Fl rsigner استفاده می‌شود. .It Fl rother Ar file گواهی‌های اضافی برای درج در پاسخ OCSP. .It Fl rsigner Ar file گواهی برای امضای پاسخ‌های OCSP. .El .Pp در ابتدا، گواهی پاسخ‌دهنده OCSP مکان‌یابی شده و امضای روی درخواست OCSP با استفاده از کلید عمومی گواهی پاسخ‌دهنده بررسی می‌شود. سپس اعتبارسنجی عادی گواهی روی گواهی پاسخ‌دهنده OCSP انجام شده و زنجیره گواهی در این فرآیند ساخته می‌شود. محل گواهی‌های معتمد استفاده‌شده برای ساخت زنجیره را می‌توان با گزینه‌های .Fl CAfile و .Fl CApath مشخص کرد، یا اینکه در دایرکتوری استاندارد گواهی‌های .Nm openssl جستجو خواهند شد. .Pp اگر اعتبارسنجی اولیه شکست بخورد، فرآیند اعتبارسنجی OCSP با یک خطا متوقف می‌شود. در غیر این صورت، گواهی CA صادرکننده در درخواست با گواهی پاسخ‌دهنده OCSP مقایسه می‌شود: در صورت تطابق، اعتبارسنجی OCSP موفقیت‌آمیز است. .Pp در غیر این صورت، CA مربوط به گواهی پاسخ‌دهنده OCSP در برابر گواهی CA صادرکننده در درخواست بررسی می‌شود. اگر تطابق وجود داشته باشد و کاربرد کلید توسعه‌یافته OCSPSigning در گواهی پاسخ‌دهنده OCSP موجود باشد، اعتبارسنجی OCSP موفق خواهد بود. .Pp در غیر این صورت، CA ریشه مربوط به CA پاسخ‌دهنده OCSP بررسی می‌شود تا مشخص شود آیا برای امضای OCSP معتمد است یا خیر. اگر باشد، اعتبارسنجی OCSP موفقیت‌آمیز است. .Pp اگر هیچ‌یک از این بررسی‌ها موفقیت‌آمیز نباشد، اعتبارسنجی OCSP با شکست مواجه می‌شود. معنای عملی این روند آن است که اگر گواهی پاسخ‌دهنده OCSP مستقیماً توسط همان CA که اطلاعات ابطال را صادر می‌کند مجاز شده باشد (و به درستی پیکربندی شده باشد)، اعتبارسنجی موفق خواهد شد. .Pp اگر پاسخ‌دهنده OCSP یک پاسخ‌دهنده سراسری (global responder) باشد، که می‌تواند جزئیات مربوط به چندین CA را ارائه دهد و زنجیره گواهی جداگانه خود را دارد، آن‌گاه CA ریشه آن می‌تواند برای امضای OCSP مورد اعتماد قرار گیرد. همچنین خود گواهی پاسخ‌دهنده را می‌توان با استفاده از گزینه .Fl VAfile به طور صریح معتمد اعلام کرد. .Tg passwd .Sh PASSWD .Bl -hang -width "openssl passwd" .It Nm openssl passwd .Bk -words .Op Fl 1 | apr1 | crypt .Op Fl in Ar file .Op Fl noverify .Op Fl quiet .Op Fl reverse .Op Fl salt Ar string .Op Fl stdin .Op Fl table .Op Ar password .Ek .El .Pp دستور .Nm passwd مقدار هش یک گذرواژه را محاسبه می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 1 استفاده از الگوریتم گذرواژه .Bx مبتنی بر MD5 .Qq 1 . .It Fl apr1 استفاده از الگوریتم .Qq apr1 .Po گونه آپاچی از الگوریتم .Bx .Pc . .It Fl crypt استفاده از الگوریتم .Qq crypt (پیش‌فرض). .It Fl in Ar file خواندن گذرواژه‌ها از .Ar file . .It Fl noverify هنگام خواندن گذرواژه از ترمینال، تایید مجدد را درخواست نمی‌کند. .It Fl quiet هنگام کوتاه شدن گذرواژه‌های ارائه‌شده در خط فرمان، هشداری چاپ نمی‌کند. .It Fl reverse جابجا کردن ستون‌های جدول. این گزینه تنها همراه با گزینه .Fl table معنا دارد. .It Fl salt Ar string استفاده از نمک (salt) مشخص‌شده توسط .Ar string . هنگام خواندن گذرواژه از ترمینال، این گزینه به طور ضمنی .Fl noverify را اعمال می‌کند. .It Fl stdin خواندن گذرواژه‌ها از ورودی استاندارد. .It Fl table در فهرست خروجی، گذرواژه متن آشکار و یک نویسه TAB را پیش از هر هش گذرواژه درج می‌کند. .El .Tg pkcs7 .Sh PKCS7 .Bl -hang -width "openssl pkcs7" .It Nm openssl pkcs7 .Bk -words .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl print .Op Fl print_certs .Op Fl text .Ek .El .Pp دستور .Nm pkcs7 فایل‌های PKCS#7 را در قالب DER یا PEM پردازش می‌کند. روال‌های PKCS#7 تنها نسخه ۱.۵ از PKCS#7 را طبق استاندارد RFC 2315 درک می‌کنند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .It Fl noout خودداری از ارسال نسخه کدگذاری‌شده ساختار PKCS#7 به خروجی (یا گواهی‌ها در صورتی که .Fl print_certs تنظیم شده باشد). .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl print چاپ نمایش ASN.1 ساختار PKCS#7. .It Fl print_certs چاپ تمام گواهی‌ها یا CRLهای موجود در فایل، به همراه نام موضوع و صادرکننده آن‌ها در قالب تک‌خطی. .It Fl text چاپ جزئیات کامل گواهی به جای نمایش صرف نام‌های موضوع و صادرکننده. .El .Tg pkcs8 .Sh PKCS8 .Bl -hang -width "openssl pkcs8" .It Nm openssl pkcs8 .Bk -words .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl nocrypt .Op Fl noiter .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl topk8 .Op Fl v1 Ar alg .Op Fl v2 Ar alg .Ek .El .Pp دستور .Nm pkcs8 کلیدهای خصوصی (هم رمزگذاری‌شده و هم رمزگذاری‌نشده) را در قالب PKCS#8 با انواع الگوریتم‌های PKCS#5 (نسخه‌های ۱.۵ و ۲.۰) و PKCS#12 پردازش می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. اگر کلید رمزگذاری شده باشد، عبارت عبور درخواست خواهد شد. .It Fl inform Cm der | pem قالب ورودی. .It Fl nocrypt تولید یک ساختار PrivateKeyInfo بدون رمزگذاری. این گزینه کلیدهای خصوصی را اصلاً رمزگذاری نمی‌کند و تنها در مواقع کاملاً ضروری باید استفاده شود. .It Fl noiter استفاده از ۱ بار تکرار (iteration). برای توضیحات کامل این گزینه، بخش .Sx PKCS12 در ادامه را ببینید. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. اگر گزینه‌های رمزگذاری تنظیم شده باشند، عبارت عبور درخواست خواهد شد. .It Fl outform Cm der | pem قالب خروجی. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl topk8 خواندن کلید خصوصی در قالب سنتی و نوشتن کلید در قالب PKCS#8. .It Fl v1 Ar alg مشخص کردن الگوریتم PKCS#5 v1.5 یا PKCS#12 مورد استفاده. .Pp .Bl -tag -width "XXXX" -compact .It PBE-MD5-DES الگوریتم DES با طول ۵۶ بیت. .It PBE-SHA1-RC2-64 | PBE-MD5-RC2-64 | PBE-SHA1-DES الگوریتم RC2 با طول ۶۴ بیت یا DES با طول ۵۶ بیت. .It PBE-SHA1-RC4-128 | PBE-SHA1-RC4-40 | PBE-SHA1-3DES .It PBE-SHA1-2DES | PBE-SHA1-RC2-128 | PBE-SHA1-RC2-40 الگوریتم‌های رمزگذاری مبتنی بر گذرواژه PKCS#12، که امکان استفاده از الگوریتم‌های رمزگذاری قوی مانند Triple DES یا RC2 با طول ۱۲۸ بیت را فراهم می‌کنند. .El .It Fl v2 Ar alg استفاده از الگوریتم‌های PKCS#5 v2.0. این الگوریتم‌ها رمزگذارهای بلوکی مورد استفاده در حالت CBC هستند. پیش‌فرض AES-256-CBC است. به استثنای AES، سایر گزینه‌های موجود در RFC 8018 منسوخ در نظر گرفته می‌شوند. آن‌ها را می‌توان با des، des3 و rc2 فعال کرد (rc5 دیگر پشتیبانی نمی‌شود). .El .Tg pkcs12 .Sh PKCS12 .Bl -hang -width "openssl pkcs12" .It Nm openssl pkcs12 .Bk -words .Oo .Fl aes128 | aes192 | aes256 | camellia128 | .Fl camellia192 | camellia256 | des | des3 | idea .Oc .Op Fl cacerts .Op Fl CAfile Ar file .Op Fl caname Ar name .Op Fl CApath Ar directory .Op Fl certfile Ar file .Op Fl certpbe Ar alg .Op Fl chain .Op Fl clcerts .Op Fl descert .Op Fl export .Op Fl in Ar file .Op Fl info .Op Fl inkey Ar file .Op Fl keyex .Op Fl keypbe Ar alg .Op Fl keysig .Op Fl macalg Ar alg .Op Fl maciter .Op Fl name Ar name .Op Fl nocerts .Op Fl nodes .Op Fl noiter .Op Fl nokeys .Op Fl nomac .Op Fl nomaciter .Op Fl nomacver .Op Fl noout .Op Fl out Ar file .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl password Ar arg .Op Fl twopass .Ek .El .Pp دستور .Nm pkcs12 امکان ایجاد و تجزیه فایل‌های PKCS#12 .Pq که گاهی فایل‌های PFX نامیده می‌شوند را فراهم می‌کند. به طور پیش‌فرض، فایل PKCS#12 تجزیه می‌شود؛ یک فایل PKCS#12 را می‌توان با استفاده از گزینه .Fl export ایجاد کرد. .Pp گزینه‌های مربوط به تجزیه فایل PKCS12 به شرح زیر هستند: .Bl -tag -width "XXXX" .It Xo .Fl aes128 | aes192 | aes256 | .Fl camellia128 | camellia192 | camellia256 | .Fl des | des3 | .Fl idea .Xc رمزگذاری کلیدهای خصوصی به ترتیب با رمزگذارهای AES، CAMELLIA، DES، Triple DES یا IDEA. حالت پیش‌فرض Triple DES است. .It Fl cacerts تنها گواهی‌های CA را به خروجی می‌فرستد .Pq نه گواهی‌های کلاینت را . .It Fl clcerts تنها گواهی‌های کلاینت را به خروجی می‌فرستد .Pq نه گواهی‌های CA را . .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl info چاپ اطلاعات اضافی درباره ساختار فایل PKCS#12، الگوریتم‌های استفاده‌شده و تعداد تکرارها. .It Fl nocerts از خروجی دادن گواهی‌ها خودداری می‌کند. .It Fl nodes کلیدهای خصوصی را رمزگذاری نمی‌کند. .It Fl nokeys از خروجی دادن کلیدهای خصوصی خودداری می‌کند. .It Fl nomacver تلاشی برای اعتبارسنجی MAC یکپارچگی پیش از خواندن فایل انجام نمی‌دهد. .It Fl noout از خروجی دادن کلیدها و گواهی‌ها در فایل خروجی خودداری می‌کند. .It Fl out Ar file The output file to write to, or standard output if not specified. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl twopass درخواست گذرواژه‌های جداگانه برای یکپارچگی و رمزگذاری: اغلب نرم‌افزارها همواره فرض می‌کنند که این دو یکسان هستند، بنابراین این گزینه ممکن است چنین فایل‌های PKCS#12 را غیرقابل خواندن کند. .El .Pp گزینه‌های مربوط به ایجاد فایل PKCS12 به شرح زیر هستند: .Bl -tag -width "XXXX" .It Fl CAfile Ar file مخزن CA به صورت یک فایل. .It Fl CApath Ar directory مخزن CA به صورت یک دایرکتوری. دایرکتوری باید یک دایرکتوری استاندارد گواهی باشد: بدین معنا که هشی از هر نام موضوع (با استفاده از .Nm x509 Fl hash ) باید به هر گواهی پیوند داده شده باشد. .It Fl caname Ar name مشخص کردن .Qq نام دوستانه (friendly name) برای سایر گواهی‌ها. می‌تواند چندین بار برای تعیین نام تمام گواهی‌ها به ترتیب ظهورشان استفاده شود. .It Fl certfile Ar file فایلی برای خواندن گواهی‌های اضافی از آن. .It Fl certpbe Ar alg , Fl keypbe Ar alg مشخص کردن الگوریتم مورد استفاده برای رمزگذاری کلید خصوصی و گواهی‌های انتخابی. از هر نام الگوریتم PKCS#5 v1.5 یا PKCS#12 PBE می‌توان استفاده کرد. اگر نام یک رمزگذار (همانند خروجی دستور .Cm list-cipher-algorithms ) مشخص شود، همراه با PKCS#5 v2.0 استفاده خواهد شد. به دلایل سازگاری و تعامل‌پذیری، توصیه می‌شود تنها از الگوریتم‌های PKCS#12 استفاده شود. .It Fl chain گنجاندن کل زنجیره گواهیِ مربوط به گواهی کاربر. مخزن استاندارد CA برای این جستجو استفاده می‌شود. اگر جستجو شکست بخورد، به عنوان یک خطای مهلک در نظر گرفته می‌شود. .It Fl descert رمزگذاری گواهی با استفاده از Triple DES؛ این کار ممکن است فایل PKCS#12 را برای برخی نرم‌افزارهای دارای .Qq درجه صادراتی (export grade) غیرقابل خواندن سازد. به طور پیش‌فرض، کلید خصوصی با Triple DES و گواهی با RC2 چهل بیتی رمزگذاری می‌شوند. .It Fl export ایجاد یک فایل PKCS#12 (به جای تجزیه کردن آن). .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. The order doesn't matter but one private key and its corresponding certificate should be present. If additional certificates are present, they will also be included in the PKCS#12 file. .It Fl inkey Ar file فایل برای خواندن کلید خصوصی از آن. در صورت عدم وجود، کلید خصوصی باید در فایل ورودی موجود باشد. .It Fl keyex | keysig مشخص می‌کند که آیا کلید خصوصی برای تبادل کلید استفاده می‌شود یا صرفاً امضا. به طور معمول نرم‌افزارهای .Qq درجه صادراتی تنها اجازه استفاده از کلیدهای ۵۱۲ بیتی RSA را برای مقاصد رمزگذاری می‌دهند، اما برای امضا طول دلخواه را می‌پذیرند. گزینه .Fl keysig کلید را صرفاً برای امضا نشانه‌گذاری می‌کند. کلیدهای صرفاً امضا می‌توانند برای امضای S/MIME، Authenticode (امضای کنترل‌های اکتیوایکس) و احراز اصالت کلاینت SSL استفاده شوند. .It Fl macalg Ar alg تعیین الگوریتم خلاصه پیام برای MAC. پیش‌فرض SHA1 است. .It Fl maciter تنها برای سازگاری گنجانده شده است: قبلاً برای استفاده از تعداد تکرارهای MAC لازم بود، اما اکنون به طور پیش‌فرض استفاده می‌شوند. .It Fl name Ar name مشخص کردن .Qq نام دوستانه برای گواهی و کلید خصوصی. این نام معمولاً در جعبه‌های فهرست توسط نرم‌افزاری که فایل را ایمپورت می‌کند نمایش داده می‌شود. .It Fl nomac تلاشی برای تامین یکپارچگی MAC انجام نمی‌دهد. .It Fl nomaciter , noiter بر تعداد تکرارها در الگوریتم‌های MAC و کلید اثر می‌گذارد. .Pp برای جلوگیری از حملات با استفاده از فرهنگ‌لغت‌های بزرگِ گذرواژه‌های رایج، الگوریتمی که کلیدها را از گذرواژه‌ها استخراج می‌کند می‌تواند دارای شمارش تکرار باشد: این امر باعث تکرار بخش خاصی از الگوریتم و کندتر شدن آن می‌شود. کد MAC برای بررسی یکپارچگی فایل استفاده می‌شود اما از آنجا که معمولاً گذرواژه‌ای یکسان با کلیدها و گواهی‌ها دارد، می‌تواند مورد حمله قرار گیرد. به طور پیش‌فرض، تعداد تکرارهای هر دوی MAC و رمزگذاری بر روی ۲۰۴۸ تنظیم شده است؛ با استفاده از این گزینه‌ها می‌توان تعداد تکرارهای MAC و رمزگذاری را بر روی ۱ تنظیم کرد. از آنجا که این کار امنیت فایل را کاهش می‌دهد، نباید از این گزینه‌ها استفاده کنید مگر اینکه واقعاً مجبور باشید. بیشتر نرم‌افزارها از هر دو شمارش تکرار MAC و کلید پشتیبانی می‌کنند. .It Fl out Ar file The output file to write to, or standard output if not specified. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl password Ar arg همراه با .Fl export ، گزینه .Fl password معادل .Fl passout است. در غیر این صورت، .Fl password معادل .Fl passin خواهد بود. .El .Tg pkey .Sh PKEY .Bl -hang -width "openssl pkey" .It Nm openssl pkey .Bk -words .Op Ar cipher .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl pubin .Op Fl pubout .Op Fl text .Op Fl text_pub .Ek .El .Pp دستور .Nm pkey کلیدهای عمومی یا خصوصی را پردازش می‌کند. این کلیدها را می‌توان میان قالب‌های مختلف تبدیل کرد و مولفه‌های آن‌ها را چاپ نمود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Ar cipher رمزگذاری کلید خصوصی با رمزگذار مشخص‌شده. هر نام الگوریتمی که توسط .Xr EVP_get_cipherbyname 3 پذیرفته شود، قابل قبول است، مانند .Cm des3 . .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. اگر کلید رمزگذاری شده باشد، عبارت عبور درخواست خواهد شد. .It Fl inform Cm der | pem قالب ورودی. .It Fl noout Do not output the encoded version of the key. .It Fl out Ar file The output file to write to, or standard output if not specified. اگر گزینه‌های رمزگذاری تنظیم شده باشند، عبارت عبور درخواست خواهد شد. .It Fl outform Cm der | pem قالب خروجی. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl pubin Read in a public key, not a private key. .It Fl pubout Output a public key, not a private key. Automatically set if the input is a public key. .It Fl text Print the public/private key in plain text. .It Fl text_pub تنها چاپ مولفه‌های کلید عمومی، حتی اگر یک کلید خصوصی در حال پردازش باشد. .El .Tg pkeyparam .Sh PKEYPARAM .Cm openssl pkeyparam .Op Fl in Ar file .Op Fl noout .Op Fl out Ar file .Op Fl text .Pp دستور .Nm pkeyparam پارامترهای کلیدهای عمومی یا خصوصی را پردازش می‌کند. نوع کلید توسط هدرهای PEM تعیین می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl noout Do not output the encoded version of the parameters. .It Fl out Ar file The output file to write to, or standard output if not specified. .It Fl text چاپ پارامترها در قالب متن آشکار. .El .Tg pkeyutl .Sh PKEYUTL .Bl -hang -width "openssl pkeyutl" .It Nm openssl pkeyutl .Bk -words .Op Fl asn1parse .Op Fl certin .Op Fl decrypt .Op Fl derive .Op Fl encrypt .Op Fl hexdump .Op Fl in Ar file .Op Fl inkey Ar file .Op Fl keyform Cm der | pem .Op Fl out Ar file .Op Fl passin Ar arg .Op Fl peerform Cm der | pem .Op Fl peerkey Ar file .Op Fl pkeyopt Ar opt : Ns Ar value .Op Fl pubin .Op Fl rev .Op Fl sigfile Ar file .Op Fl sign .Op Fl verify .Op Fl verifyrecover .Ek .El .Pp دستور .Nm pkeyutl می‌تواند برای انجام عملیات کلید عمومی با استفاده از هر الگوریتم پشتیبانی‌شده‌ای استفاده شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl asn1parse تجزیه ASN.1 روی داده‌های خروجی. این گزینه در ترکیب با گزینه .Fl verifyrecover هنگامی که یک ساختار ASN.1 امضا شده است کاربرد دارد. .It Fl certin ورودی یک گواهی حاوی کلید عمومی است. .It Fl decrypt رمزگشایی داده‌های ورودی با استفاده از کلید خصوصی. .It Fl derive اشتقاق یک راز مشترک با استفاده از کلید همتا (peer key). .It Fl encrypt رمزگذاری داده‌های ورودی با استفاده از کلید عمومی. .It Fl hexdump تخلیه هگز (hex dump) داده‌های خروجی. .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inkey Ar file فایل کلید ورودی. به طور پیش‌فرض باید یک کلید خصوصی باشد. .It Fl keyform Cm der | pem قالب کلید. .It Fl out Ar file The output file to write to, or standard output if not specified. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl peerform Cm der | pem قالب کلید همتا. .It Fl peerkey Ar file فایل کلید همتا، مورد استفاده در عملیات اشتقاق کلید (تفاهم کلید). .It Fl pkeyopt Ar opt : Ns Ar value تنظیم گزینه الگوریتم کلید عمومی .Ar opt بر روی .Ar value . مگر در مواردی که خلاف آن ذکر شده باشد، تمام الگوریتم‌ها از قالب .Ar digest : Ns Ar alg پشتیبانی می‌کنند که خلاصه پیام مورد استفاده را برای عملیات sign، verify و verifyrecover مشخص می‌کند. مقدار .Ar alg باید نشان‌دهنده نام یک خلاصه پیام باشد همان‌طور که در تابع .Xr EVP_get_digestbyname 3 استفاده می‌شود. .Pp الگوریتم RSA به طور کلی از عملیات‌های encrypt، decrypt، sign، verify و verifyrecover پشتیبانی می‌کند. با این حال برخی حالت‌های لایه‌گذاری تنها از بعضی از این عملیات‌ها پشتیبانی می‌کنند. .Bl -tag -width Ds .It rsa_padding_mode : Ns Ar mode این گزینه حالت لایه‌گذاری RSA را تنظیم می‌کند. مقادیر قابل قبول برای .Ar mode عبارتند از: .Cm pkcs1 برای لایه‌گذاری PKCS#1؛ .Cm none برای بدون لایه‌گذاری؛ .Cm oaep برای حالت OAEP؛ .Cm x931 برای حالت X9.31؛ و .Cm pss برای PSS. .Pp در لایه‌گذاری PKCS#1 اگر خلاصه پیام تنظیم نشده باشد، داده‌های ارائه‌شده به جای استفاده از ساختار DigestInfo به طور مستقیم امضا یا اعتبارسنجی می‌شوند. اگر خلاصه پیام تنظیم شده باشد، از ساختار DigestInfo استفاده می‌شود و طول آن باید با نوع خلاصه پیام مطابقت داشته باشد. برای حالت oeap تنها رمزگذاری و رمزگشایی پشتیبانی می‌شود. برای x931 اگر نوع خلاصه پیام تنظیم شده باشد، برای قالب‌بندی داده‌های بلوک استفاده می‌شود؛ در غیر این صورت، بایت اول برای تعیین شناسه خلاصه پیام X9.31 استفاده می‌شود. عملیات‌های sign، verify و verifyrecover را می‌توان در این حالت انجام داد. برای حالت pss تنها sign و verify پشتیبانی می‌شوند و نوع خلاصه پیام باید مشخص شود. .It rsa_pss_saltlen : Ns Ar len تنها برای حالت pss، این گزینه طول نمک (salt) را مشخص می‌کند. دو مقدار ویژه پشتیبانی می‌شوند: مقدار ۱- طول نمک را برابر با طول خلاصه پیام قرار می‌دهد. هنگام امضا، ۲- طول نمک را بر روی حداکثر مقدار مجاز تنظیم می‌کند. هنگام اعتبارسنجی، ۲- باعث می‌شود طول نمک بر اساس ساختار بلوک PSS به طور خودکار تعیین گردد. .El .Pp الگوریتم DSA از عملیات‌های sign و verify پشتیبانی می‌کند. در حال حاضر گزینه‌های اضافی به جز .Ar digest وجود ندارد. تنها خلاصه پیام SHA1 قابل استفاده است و این خلاصه پیام به طور پیش‌فرض فرض می‌شود. .Pp الگوریتم DH از عملیات derive پشتیبانی می‌کند و هیچ گزینه اضافی ندارد. .Pp الگوریتم EC از عملیات‌های sign، verify و derive پشتیبانی می‌کند. عملیات‌های sign و verify از ECDSA استفاده می‌کنند و derive از ECDH استفاده می‌نماید. در حال حاضر هیچ گزینه اضافی به جز .Ar digest وجود ندارد. تنها خلاصه پیام SHA1 می‌تواند استفاده شود و این خلاصه پیام به طور پیش‌فرض فرض می‌شود. .It Fl pubin The input file is a public key. .It Fl rev معکوس کردن ترتیب بافر ورودی. .It Fl sigfile Ar file فایل امضا (تنها در عملیات verify). .It Fl sign امضای داده‌های ورودی و خروجی دادن نتیجه امضاشده. این عملیات به کلید خصوصی نیاز دارد. .It Fl verify اعتبارسنجی داده‌های ورودی در برابر فایل امضا و نشان دادن موفقیت‌آمیز بودن یا شکست اعتبارسنجی. .It Fl verifyrecover اعتبارسنجی داده‌های ورودی و خروجی دادن داده‌های بازیابی‌شده. .El .Tg prime .Sh PRIME .Cm openssl prime .Op Fl bits Ar n .Op Fl checks Ar n .Op Fl generate .Op Fl hex .Op Fl safe .Ar p .Pp دستور .Nm prime برای تولید اعداد اول یا بررسی اول بودن اعداد استفاده می‌شود. نتایج احتمالی هستند: احتمال بسیار بالایی برای درستی آن‌ها وجود دارد، اما تضمین قطعی نیست. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl bits Ar n مشخص کردن تعداد بیت‌ها در عدد اول تولیدشده. باید همراه با گزینه .Fl generate استفاده شود. .It Fl checks Ar n انجام آزمون احتمالاتی اول بودن میلر-رابین با .Ar n تکرار. پیش‌فرض ۲۰ است. .It Fl generate تولید یک عدد اول شبه‌تصادفی. باید همراه با گزینه .Fl bits استفاده شود. .It Fl hex خروجی در قالب هگزادسیمال. .It Fl safe تنها تولید اعداد اول .Qq امن (یعنی یک عدد اول p که در آن (p-1)/2 نیز اول باشد). .It Ar p آزمون اینکه آیا عدد .Ar p اول است یا خیر. .El .Tg rand .Sh RAND .Bl -hang -width "openssl rand" .It Nm openssl rand .Bk -words .Op Fl base64 .Op Fl hex .Op Fl out Ar file .Ar num .Ek .El .Pp دستور .Nm rand تعداد .Ar num بایت شبه‌تصادفی را در خروجی تولید می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl base64 انجام کدگذاری Base64 بر روی خروجی. .It Fl hex تعیین خروجی به صورت هگزادسیمال. .It Fl out Ar file The output file to write to, or standard output if not specified. .El .Tg req .Sh REQ .Bl -hang -width "openssl req" .It Nm openssl req .Bk -words .Op Fl addext Ar ext .Op Fl batch .Op Fl config Ar file .Op Fl days Ar n .Op Fl extensions Ar section .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl key Ar keyfile .Op Fl keyform Cm der | pem .Op Fl keyout Ar file .Op Fl md4 | md5 | sha1 .Op Fl modulus .Op Fl multivalue-rdn .Op Fl nameopt Ar option .Op Fl new .Op Fl newhdr .Op Fl newkey Ar arg .Op Fl nodes .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl pkeyopt Ar opt:value .Op Fl pubkey .Op Fl reqexts Ar section .Op Fl reqopt Ar option .Op Fl set_serial Ar n .Op Fl sigopt Ar nm:v .Op Fl subj Ar arg .Op Fl subject .Op Fl text .Op Fl utf8 .Op Fl verbose .Op Fl verify .Op Fl x509 .Ek .El .Pp دستور .Nm req عمدتاً درخواست‌های گواهی را در قالب PKCS#10 ایجاد و پردازش می‌کند. همچنین می‌تواند گواهی‌های خودامضاشده تولید کند، برای نمونه جهت استفاده به عنوان CA ریشه. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl addext Ar ext افزودن یک افزونه خاص به گواهی (اگر گزینه .Fl x509 ارائه شده باشد) یا درخواست گواهی. آرگومان باید به شکل یک جفت key=value باشد همان‌طور که در فایل پیکربندی ظاهر می‌شود. این گزینه می‌تواند چندین بار مشخص شود. .It Fl batch حالت غیرتعاملی (batch). .It Fl config Ar file مشخص کردن فایل پیکربندی جایگزین. .It Fl days Ar n مشخص کردن تعداد روزهایی که گواهی برای آن مدت معتبر خواهد بود. حالت پیش‌فرض ۳۰ روز است. همراه با گزینه .Fl x509 استفاده می‌شود. .It Fl extensions Ar section , Fl reqexts Ar section مشخص کردن بخش‌های جایگزین برای گنجاندن افزونه‌های گواهی (همراه با .Fl x509 ) یا افزونه‌های درخواست گواهی، که امکان استفاده از چندین بخش مختلف در یک فایل پیکربندی یکسان را فراهم می‌کند. .It Fl in Ar file فایل ورودی برای خواندن درخواست از آن، یا ورودی استاندارد در صورت عدم تعیین. درخواست تنها در صورتی خوانده می‌شود که گزینه‌های ایجاد شامل .Fl new و .Fl newkey مشخص نشده باشند. .It Fl inform Cm der | pem قالب ورودی. .It Fl key Ar keyfile فایلی برای خواندن کلید خصوصی از آن. همچنین کلیدهای خصوصی در قالب PKCS#8 را برای فایل‌های قالب PEM می‌پذیرد. .It Fl keyform Cm der | pem قالب فایل کلید خصوصی مشخص‌شده در آرگومان .Fl key . حالت پیش‌فرض .Cm pem است. .It Fl keyout Ar file فایلی برای نوشتن کلید خصوصی تازه‌تولیدشده در آن. اگر این گزینه مشخص نشود، از نام فایل موجود در فایل پیکربندی استفاده می‌شود. .It Fl md5 | sha1 | sha256 الگوریتم خلاصه پیام برای امضای درخواست. این گزینه الگوریتم خلاصه پیام مشخص‌شده در فایل پیکربندی را بازنویسی می‌کند. .Pp برخی الگوریتم‌های کلید عمومی ممکن است این انتخاب را نادیده بگیرند. برای نمونه، امضاهای DSA همیشه از SHA1 استفاده می‌کنند. .It Fl modulus چاپ مقدار مدولوس (modulus) کلید عمومی موجود در درخواست. .It Fl multivalue-rdn این گزینه باعث می‌شود آرگومان .Fl subj با پشتیبانی کامل از RDNهای چندمقداری تفسیر شود، برای نمونه .Qq "/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe" . اگر .Fl multivalue-rdn استفاده نشود، مقدار UID بر روی .Qq "123456+CN=John Doe" تنظیم خواهد شد. .It Fl nameopt Ar option , Fl reqopt Ar option تعیین نحوه نمایش نام‌های موضوع یا صادرکننده. .Ar option می‌تواند یک گزینه منفرد یا چندین گزینه جداشده با کاما باشد. همچنین این گزینه‌ها می‌توانند بیش از یک بار برای تنظیم چندین گزینه استفاده شوند. برای جزئیات به بخش .Sx X509 در ادامه مراجعه کنید. .It Fl new تولید یک درخواست گواهی جدید. مقادیر فیلدهای مربوطه از کاربر درخواست می‌شود. فیلدهای واقعی درخواستی و حداکثر و حداقل اندازه آن‌ها در فایل پیکربندی و هرگونه افزونه درخواستی مشخص شده‌اند. .Pp اگر از گزینه .Fl key استفاده نشود، یک کلید خصوصی RSA جدید با استفاده از اطلاعات مشخص‌شده در فایل پیکربندی تولید خواهد شد. .It Fl newhdr افزودن واژه NEW به خطوط سرآیند و پانویس فایل PEM در درخواست خروجی. برخی نرم‌افزارها و CAها به این نیاز دارند. .It Fl newkey Ar arg ایجاد یک درخواست گواهی جدید و یک کلید خصوصی جدید. آرگومان یکی از چندین فرم زیر را می‌گیرد: .Pp .No rsa : Ns Ar nbits یک کلید RSA با اندازه .Ar nbits تولید می‌کند. اگر .Ar nbits حذف شود، از اندازه کلید پیش‌فرض استفاده می‌شود. .Pp .No dsa : Ns Ar file یک کلید DSA با استفاده از پارامترهای موجود در .Ar file تولید می‌کند. .Pp .No param : Ns Ar file یک کلید با استفاده از پارامترها یا گواهی موجود در .Ar file تولید می‌کند. .Pp تمامی الگوریتم‌های دیگر از فرم .Ar algorithm : Ns Ar file پشتیبانی می‌کنند، که در آن file می‌تواند یک فایل پارامتر الگوریتم باشد که توسط دستور .Cm genpkey -genparam ایجاد شده است، یا یک گواهی X.509 برای کلیدی با الگوریتم مناسب. پارامتر .Ar file می‌تواند حذف شود، که در این حالت هر پارامتری می‌تواند از طریق گزینه .Fl pkeyopt مشخص شود. .It Fl nodes کلید خصوصی را رمزگذاری نمی‌کند. .It Fl noout از خروجی دادن نسخه کدگذاری‌شده درخواست خودداری می‌کند. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl pkeyopt Ar opt:value تنظیم گزینه الگوریتم کلید عمومی .Ar opt بر روی .Ar value . .It Fl pubkey خروجی دادن کلید عمومی. .It Fl reqopt Ar option سفارشی‌سازی قالب خروجی مورد استفاده با .Fl text . آرگومان .Ar option می‌تواند یک گزینه منفرد یا چندین گزینه جداشده با کاما باشد. همچنین به توضیحات .Fl certopt در دستور .Nm x509 مراجعه کنید. .It Fl set_serial Ar n شماره سریال برای استفاده هنگام خروجی دادن یک گواهی خودامضاشده. می‌تواند به عنوان یک مقدار ده‌دهی یا یک مقدار هگزادسیمال با پیشوند .Sq 0x مشخص شود. استفاده از شماره سریال‌های منفی امکان‌پذیر است اما توصیه نمی‌شود. .It Fl sigopt Ar nm:v ارسال گزینه‌ها به الگوریتم امضا در طول عملیات امضا. نام‌ها و مقادیر این گزینه‌ها وابسته به الگوریتم هستند. .It Fl subj Ar arg جایگزین کردن فیلد موضوع درخواست ورودی با داده‌های مشخص‌شده و خروجی دادن درخواست اصلاح‌شده. آرگومان .Ar arg باید به صورت /type0=value0/type1=value1/type2=... قالب‌بندی شود؛ کاراکترها می‌توانند با .Sq \e (بک‌اسلش) اسکیپ شوند؛ هیچ فاصله‌ای نادیده گرفته نمی‌شود. .It Fl subject چاپ موضوع درخواست (یا موضوع گواهی در صورتی که .Fl x509 مشخص شده باشد). .It Fl text چاپ درخواست گواهی در قالب متن آشکار. .It Fl utf8 تفسیر مقادیر فیلدها به عنوان رشته‌های UTF-8 به جای ASCII. .It Fl verbose چاپ جزئیات بیشتر درباره عملیات در حال انجام. .It Fl verify اعتبارسنجی امضای موجود روی درخواست. .It Fl x509 خروجی دادن یک گواهی خودامضاشده به جای درخواست گواهی. این گزینه معمولاً برای ایجاد یک گواهی آزمایشی یا یک CA ریشه خودامضاشده استفاده می‌شود. افزونه‌های اضافه‌شده به گواهی (در صورت وجود) در فایل پیکربندی مشخص می‌شوند. مگر اینکه با گزینه .Fl set_serial مشخص شده باشد، عدد ۰ برای شماره سریال استفاده می‌شود. .El .Pp گزینه‌های پیکربندی در بخش .Qq req از فایل پیکربندی مشخص می‌شوند. گزینه‌های موجود به شرح زیر هستند: .Bl -tag -width "XXXX" .It Cm attributes بخشی شامل ویژگی‌های درخواست: قالب آن مشابه .Cm distinguished_name است. معمولاً این بخش ممکن است شامل انواع challengePassword یا unstructuredName باشد. در حال حاضر توسط ابزارهای امضای درخواست در .Nm openssl نادیده گرفته می‌شوند، اما برخی CAها ممکن است به آن‌ها نیاز داشته باشند. .It Cm default_bits اندازه پیش‌فرض کلید به بیت. حالت پیش‌فرض ۲۰۴۸ است. در صورت استفاده از گزینه .Fl new به کار می‌رود و می‌توان با استفاده از گزینه .Fl newkey آن را بازنویسی کرد. .It Cm default_keyfile فایل پیش‌فرض برای نوشتن کلید خصوصی، یا خروجی استاندارد در صورت عدم تعیین. می‌توان آن را با گزینه .Fl keyout بازنویسی کرد. .It Cm default_md الگوریتم خلاصه پیام مورد استفاده. مقادیر ممکن شامل .Cm md5 ، .Cm sha1 و .Cm sha256 (پیش‌فرض) هستند. می‌توان آن را در خط فرمان بازنویسی کرد. .It Cm distinguished_name بخشی شامل فیلدهای نام متمایز (distinguished name) که باید هنگام ایجاد گواهی یا درخواست گواهی از کاربر پرسیده شوند. قالب آن در ادامه شرح داده شده است. .It Cm encrypt_key اگر بر روی .Qq no تنظیم شود و یک کلید خصوصی تولید گردد، کلید رمزگذاری نخواهد شد. معادل گزینه .Fl nodes است. جهت سازگاری، .Cm encrypt_rsa_key یک گزینه معادل است. .It Cm input_password | output_password گذرواژه‌های فایل کلید خصوصی ورودی (در صورت وجود) و فایل کلید خصوصی خروجی (در صورت ایجاد). گزینه‌های خط فرمان .Fl passin و .Fl passout مقادیر فایل پیکربندی را بازنویسی می‌کنند. .It Cm oid_file فایلی حاوی شناسه‌های شیء (OBJECT IDENTIFIER) اضافی. هر سطر فایل باید شامل شکل عددی شناسه شیء به همراه فاصله، سپس نام کوتاه به همراه فاصله و در نهایت نام کامل باشد. .It Cm oid_section مشخص کردن بخشی در فایل پیکربندی حاوی شناسه‌های شیء اضافی. هر سطر باید شامل نام کوتاه شناسه شیء به همراه .Sq = و شکل عددی باشد. در صورت استفاده از این گزینه، نام کوتاه و نام کامل یکسان خواهند بود. .It Cm prompt اگر بر روی .Qq no تنظیم شود، پرسش فیلدهای گواهی از کاربر را غیرفعال می‌کند و مقادیر را مستقیماً از فایل پیکربندی می‌گیرد. همچنین قالب مورد انتظار برای بخش‌های .Cm distinguished_name و .Cm attributes را تغییر می‌دهد. .It Cm req_extensions بخش فایل پیکربندی حاوی فهرستی از افزونه‌ها برای اضافه شدن به درخواست گواهی. می‌توان آن را با گزینه .Fl reqexts بازنویسی کرد. .It Cm string_mask محدود کردن انواع رشته‌ها برای کدگذاری برخی فیلدها. مقادیر زیر را می‌توان استفاده کرد که رشته‌ها را به انواع مشخص‌شده محدود می‌کنند: .Bl -tag -width "MASK:number" .It Cm utf8only رشته‌های UTF8String. این حالت پیش‌فرض است، همان‌گونه که توسط PKIX در RFC 2459 توصیه شده است. .It Cm default رشته‌های PrintableString، IA5String، T61String، BMPString، UTF8String. .It Cm pkix رشته‌های PrintableString، IA5String، BMPString، UTF8String. الهام‌گرفته از توصیه PKIX در RFC 2459 برای گواهی‌های تولیدشده قبل از سال ۲۰۰۴، با این تفاوت که IA5String را نیز مجاز می‌داند. .It Cm nombstr رشته‌های PrintableString، IA5String، T61String، UniversalString. راهکاری برای برخی نرم‌افزارهای بسیار قدیمی که با انواع BMPString و UTF8String با اندازه متغیر مشکل داشتند. .It Cm MASK : Ns Ar number یک ماسک بیتی صریح از انواع مجاز، که در آن .Ar number یک عدد هگزادسیمال، ده‌دهی یا اکتال به سبک C است که حاصل OR بیتی از مقادیر .Dv B_ASN1_* از فایل .In openssl/asn1.h می‌باشد. .El .It Cm utf8 اگر بر روی .Qq yes تنظیم شود، مقادیر فیلدها به عنوان رشته‌های UTF-8 تفسیر می‌شوند. .It Cm x509_extensions بخش فایل پیکربندی حاوی فهرستی از افزونه‌ها برای اضافه شدن به گواهی ایجادشده هنگامی که سوئیچ .Fl x509 استفاده شده باشد. می‌توان آن را با سوئیچ خط فرمان .Fl extensions بازنویسی کرد. .El .Pp دو قالب جداگانه برای بخش‌های distinguished name و attribute وجود دارد. اگر گزینه .Fl prompt بر روی .Qq no تنظیم شده باشد، این بخش‌ها صرفاً شامل نام فیلدها و مقادیر آن‌ها خواهند بود. اگر گزینه .Fl prompt وجود نداشته باشد یا بر روی .Qq no تنظیم نشده باشد، فایل شامل اطلاعات درخواست فیلد از کاربر به فرم زیر خواهد بود: .Bd -unfilled -offset indent fieldName="prompt" fieldName_default="default field value" fieldName_min= 2 fieldName_max= 4 .Ed .Pp بخش .Qq fieldName نام فیلد مورد استفاده است، برای نمونه .Cm commonName (یا CN). رشته .Qq prompt برای درخواست از کاربر جهت وارد کردن جزئیات مربوطه استفاده می‌شود. اگر کاربر چیزی وارد نکند، مقدار پیش‌فرض استفاده می‌شود؛ اگر مقدار پیش‌فرضی وجود نداشته باشد، فیلد حذف خواهد شد. حتی در صورت وجود مقدار پیش‌فرض، اگر کاربر تنها نویسه .Sq \&. را وارد کند، فیلد حذف می‌شود. .Pp تعداد نویسه‌های واردشده باید میان محدودیت‌های fieldName_min و fieldName_max باشد: ممکن است محدودیت‌های اضافی بر اساس فیلد مورد استفاده وجود داشته باشد (برای نمونه .Cm countryName همواره باید دو نویسه باشد و در یک .Cm PrintableString بگنجد). .Pp برخی فیلدها (مانند .Cm organizationName ) می‌توانند بیش از یک بار در یک DN استفاده شوند. این امر مشکلی ایجاد می‌کند زیرا فایل‌های پیکربندی نام یکسانی را که دو بار تکرار شده باشد تشخیص نمی‌دهند. برای جلوگیری از این مشکل، اگر .Cm fieldName شامل نویسه‌هایی به همراه یک نقطه باشد، آن بخش نادیده گرفته می‌شود. بنابراین برای نمونه می‌توان دومین .Cm organizationName را با نام‌گذاری آن به صورت .Qq 1.organizationName وارد کرد. .Pp نام‌های مجاز فیلدها در واقع شامل هر نام کوتاه یا کاملِ شناسه شیء (OID) هستند. این مقادیر در داخل .Nm openssl کامپایل شده‌اند و شامل مقادیر متداول مانند .Cm commonName ، countryName ، localityName ، organizationName ، .Cm organizationalUnitName ، stateOrProvinceName می‌باشند. علاوه بر این، .Cm emailAddress و همچنین .Cm name ، surname ، givenName ، initials و .Cm dnQualifier نیز گنجانده شده‌اند. .Pp شناسه‌های شیء اضافی را می‌توان با گزینه‌های .Cm oid_file یا .Cm oid_section در فایل پیکربندی تعریف کرد. با هر فیلد اضافی به گونه‌ای رفتار خواهد شد که گویی یک .Cm DirectoryString است. .Tg rsa .Sh RSA .Bl -hang -width "openssl rsa" .It Nm openssl rsa .Bk -words .Op Fl aes128 | aes192 | aes256 | des | des3 .Op Fl check .Op Fl in Ar file .Op Fl inform Cm der | net | pem | pvk .Op Fl modulus .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | net | pem | pvk .Op Fl passin Ar arg .Op Fl passout Ar arg .Op Fl pubin .Op Fl pubout .Op Fl pvk-none | pvk-strong | pvk-weak .Op Fl RSAPublicKey_in .Op Fl RSAPublicKey_out .Op Fl text .Ek .El .Pp دستور .Nm rsa کلیدهای RSA را پردازش می‌کند. این کلیدها را می‌توان میان فرمت‌های مختلف تبدیل کرد و اجزای آن‌ها را چاپ نمود. دستور .Nm rsa از قالب سنتی سازگار با .Nm SSLeay برای رمزنگاری کلید خصوصی استفاده می‌کند: برنامه‌های جدیدتر باید از قالب امن‌تر PKCS#8 با استفاده از ابزار .Nm pkcs8 استفاده کنند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl aes128 | aes192 | aes256 | des | des3 رمزگذاری کلید خصوصی به ترتیب با رمزگذارهای AES، DES یا Triple DES پیش از ارسال آن به خروجی. عبارت عبور درخواست خواهد شد. اگر هیچ‌یک از این گزینه‌ها مشخص نشوند، کلید به صورت متن آشکار نوشته می‌شود. این بدان معناست که استفاده از ابزار .Nm rsa برای خواندن یک کلید رمزگذاری‌شده بدون تعیین گزینه رمزگذاری می‌تواند برای حذف عبارت عبور از کلید استفاده شود، یا با تنظیم گزینه‌های رمزگذاری می‌توان برای افزودن یا تغییر عبارت عبور از آن استفاده نمود. این گزینه‌ها تنها با فایل‌های خروجی با قالب PEM قابل استفاده هستند. .It Fl check بررسی سازگاری و درستی ساختاری یک کلید خصوصی RSA. .It Fl in Ar file The input file to read from, or standard input if not specified. If the key is encrypted, a pass phrase will be prompted for. .It Fl inform Cm der | net | pem | pvk قالب ورودی. .It Fl noout Do not output the encoded version of the key. .It Fl modulus چاپ مقدار مدولوس (modulus) کلید. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | net | pem | pvk قالب خروجی. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl passout Ar arg منبع گذرواژه فایل خروجی. .It Fl pubin خواندن یک کلید عمومی، و نه یک کلید خصوصی. .It Fl pubout خروجی دادن یک کلید عمومی، و نه یک کلید خصوصی. در صورت عمومی بودن ورودی، به طور خودکار فعال می‌شود. .It Xo .Fl pvk-none | pvk-strong | pvk-weak .Xc Enable or disable PVK encoding. The default is .Fl pvk-strong . .It Fl RSAPublicKey_in , RSAPublicKey_out مشابه .Fl pubin و .Fl pubout است با این تفاوت که از قالب .Cm RSAPublicKey استفاده می‌شود. .It Fl text چاپ اجزای کلید عمومی/خصوصی در قالب متن آشکار. .El .Tg rsautl .Sh RSAUTL .Bl -hang -width "openssl rsautl" .It Nm openssl rsautl .Bk -words .Op Fl asn1parse .Op Fl certin .Op Fl decrypt .Op Fl encrypt .Op Fl hexdump .Op Fl in Ar file .Op Fl inkey Ar file .Op Fl keyform Cm der | pem .Op Fl oaep | pkcs | raw | x931 .Op Fl out Ar file .Op Fl passin Ar arg .Op Fl pubin .Op Fl rev .Op Fl sign .Op Fl verify .Ek .El .Pp دستور .Nm rsautl می‌تواند برای امضا، اعتبارسنجی، رمزگذاری و رمزگشایی داده‌ها با استفاده از الگوریتم RSA به کار رود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl asn1parse تجزیه با asn1parse روی داده‌های خروجی؛ در صورت ترکیب با گزینه .Fl verify کاربرد دارد. .It Fl certin ورودی یک گواهی حاوی کلید عمومی RSA است. .It Fl decrypt رمزگشایی داده‌های ورودی با استفاده از کلید خصوصی RSA. .It Fl encrypt رمزگذاری داده‌های ورودی با استفاده از کلید عمومی RSA. .It Fl hexdump Hex dump the output data. .It Fl in Ar file The input to read from, or standard input if not specified. .It Fl inkey Ar file فایل کلید ورودی؛ به طور پیش‌فرض یک کلید خصوصی RSA است. .It Fl keyform Cm der | pem قالب کلید خصوصی. حالت پیش‌فرض .Cm pem است. .It Fl oaep | pkcs | raw | x931 لایه‌گذاری مورد استفاده: به ترتیب لایه‌گذاری PKCS#1 OAEP، PKCS#1 v1.5 (پیش‌فرض)، بدون لایه‌گذاری یا ANSI X9.31. برای امضاها تنها گزینه‌های .Fl pkcs و .Fl raw قابل استفاده هستند. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl pubin فایل ورودی یک کلید عمومی RSA است. .It Fl rev Reverse the order of the input buffer. .It Fl sign امضای داده‌های ورودی و خروجی دادن نتیجه امضاشده. به یک کلید خصوصی RSA نیاز دارد. .It Fl verify Verify the input data and output the recovered data. .El .Tg s_client .Sh S_CLIENT .Bl -hang -width "openssl s_client" .It Nm openssl s_client .Bk -words .Op Fl 4 | 6 .Op Fl alpn Ar protocols .Op Fl bugs .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl cert Ar file .Op Fl certform Cm der | pem .Op Fl check_ss_sig .Op Fl cipher Ar cipherlist .Op Fl connect Ar host Ns Op : Ns Ar port .Op Fl crl_check .Op Fl crl_check_all .Op Fl crlf .Op Fl debug .Op Fl dtls .Op Fl dtls1_2 .Op Fl extended_crl .Op Fl groups Ar list .Op Fl host Ar host .Op Fl ign_eof .Op Fl ignore_critical .Op Fl issuer_checks .Op Fl key Ar keyfile .Op Fl keyform Cm der | pem .Op Fl keymatexport Ar label .Op Fl keymatexportlen Ar len .Op Fl legacy_server_connect .Op Fl msg .Op Fl mtu Ar mtu .Op Fl nbio .Op Fl nbio_test .Op Fl no_comp .Op Fl no_ign_eof .Op Fl no_legacy_server_connect .Op Fl no_ticket .Op Fl no_tls1_2 .Op Fl no_tls1_3 .Op Fl pass Ar arg .Op Fl policy_check .Op Fl port Ar port .Op Fl prexit .Op Fl proxy Ar host : Ns Ar port .Op Fl quiet .Op Fl reconnect .Op Fl servername Ar name .Op Fl serverpref .Op Fl sess_in Ar file .Op Fl sess_out Ar file .Op Fl showcerts .Op Fl starttls Ar protocol .Op Fl state .Op Fl status .Op Fl timeout .Op Fl tls1_2 .Op Fl tls1_3 .Op Fl tlsextdebug .Op Fl use_srtp Ar profiles .Op Fl verify Ar depth .Op Fl verify_return_error .Op Fl x509_strict .Op Fl xmpphost Ar host .Ek .El .Pp دستور .Nm s_client یک کلاینت عمومی SSL/TLS را پیاده‌سازی می‌کند که با استفاده از SSL/TLS به یک میزبان راه دور متصل می‌شود. .Pp اگر اتصالی با یک سرور SSL برقرار شود، هر داده‌ای که از سرور دریافت شود نمایش داده شده و فشردن هر کلیدی به سرور ارسال خواهد شد. هنگامی که به صورت تعاملی استفاده شود (یعنی نه گزینه .Fl quiet و نه .Fl ign_eof ارائه نشده باشند)، اگر خط ورودی با حرف .Cm R آغاز شود نشست دوباره مذاکره خواهد شد؛ اگر خط با حرف .Cm Q آغاز شود یا به انتهای فایل برسد، اتصال بسته خواهد شد. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl 4 تلاش برای برقراری اتصال تنها با استفاده از IPv4. .It Fl 6 تلاش برای برقراری اتصال تنها با استفاده از IPv6. .It Fl alpn Ar protocols فعال‌سازی مذاکره پروتکل لایه کاربرد یا Application-Layer Protocol Negotiation (ALPN). .Ar protocols فهرستی جداشده با کاما از نام‌های پروتکل است که کلاینت باید پشتیبانی از آن‌ها را اعلان کند. .It Fl bugs فعال‌سازی راهکارهای ترمیمی گوناگون برای پیاده‌سازی‌های دارای باگ. .It Fl CAfile Ar file یک .Ar file حاوی گواهی‌های معتمد جهت استفاده در احراز اصالت سرور و برای استفاده هنگام تلاش جهت ساخت زنجیره گواهی کلاینت. .It Fl CApath Ar directory دایرکتوری .Ar directory مورد استفاده برای اعتبارسنجی گواهی سرور. این پوشه باید در .Qq قالب هش باشد؛ برای اطلاعات بیشتر به .Fl verify مراجعه کنید. این موارد همچنین هنگام ساخت زنجیره گواهی کلاینت استفاده می‌شوند. .It Fl cert Ar file گواهی مورد استفاده در صورتی که توسط سرور درخواست شود. حالت پیش‌فرض عدم استفاده از گواهی است. .It Fl certform Cm der | pem قالب گواهی. حالت پیش‌فرض .Cm pem است. .It Xo .Fl check_ss_sig , .Fl crl_check , .Fl crl_check_all , .Fl extended_crl , .Fl ignore_critical , .Fl issuer_checks , .Fl policy_check , .Fl x509_strict .Xc Set various certificate chain validation options. See the .Nm verify command for details. .It Fl cipher Ar cipherlist اصلاح فهرست رمزگذارهای ارسالی توسط کلاینت. اگرچه سرور تعیین می‌کند که کدام مجموعه رمزنگاری استفاده شود، اما باید اولین رمزگذار پشتیبانی‌شده در فهرست ارسالی کلاینت را انتخاب کند. برای اطلاعات بیشتر به دستور .Nm ciphers مراجعه کنید. .It Fl connect Ar host Ns Op : Ns Ar port میزبان .Ar host و پورت .Ar port برای اتصال. در صورت عدم تعیین، تلاشی برای اتصال به میزبان محلی (localhost) روی پورت ۴۴۳۳ انجام می‌شود. همچنین زوج میزبان و پورت می‌توانند با استفاده از نویسه اسلش (/) جدا شوند، که برای نشانی‌های عددی IPv6 مفید است. .It Fl crlf تبدیل کاراکتر پایان خط (Line Feed) از ترمینال به CR+LF، همان‌طور که توسط برخی سرورها الزامی است. .It Fl debug چاپ اطلاعات گسترده اشکال‌زدایی، شامل تخلیه هگز (hex dump) تمام ترافیک شبکه. .It Fl dtls اجازه استفاده از هر نسخه‌ای از DTLS. .It Fl dtls1_2 اجازه استفاده تنها از نسخه ۱.۲ پروتکل DTLS. .It Fl groups Ar list تنظیم گروه‌های منحنی بیضوی پشتیبانی‌شده بر اساس .Ar list جداشده با دونقطه از NIDها یا نام‌های گروه طبق آنچه در .Xr SSL_CTX_set1_groups_list 3 مستند شده است. .It Fl host Ar host میزبان .Ar host برای اتصال. پیش‌فرض localhost است. .It Fl ign_eof جلوگیری از قطع اتصال هنگام رسیدن به انتهای فایل (EOF) در ورودی. .It Fl key Ar keyfile کلید خصوصی مورد استفاده. در صورت عدم تعیین، از فایل گواهی استفاده خواهد شد. .It Fl keyform Cm der | pem The private key format. The default is .Cm pem . .It Fl keymatexport Ar label استخراج داده‌های کلیدی (keying material) با استفاده از برچسب. .It Fl keymatexportlen Ar len استخراج len بایت از داده‌های کلیدی (پیش‌فرض ۲۰). .It Fl legacy_server_connect , no_legacy_server_connect مجاز یا غیرمجاز کردن اتصال اولیه به سرورهایی که از مذاکره مجدد امن (RI) پشتیبانی نمی‌کنند. .It Fl msg نمایش تمام پیام‌های پروتکل همراه با تخلیه هگز. .It Fl mtu Ar mtu تنظیم MTU لایه پیوند. .It Fl nbio فعال‌سازی ورودی/خروجی غیرمسدودکننده (non-blocking I/O). .It Fl nbio_test آزمایش ورودی/خروجی غیرمسدودکننده. .It Fl no_ign_eof قطع اتصال هنگام رسیدن به انتهای فایل در ورودی. می‌تواند برای لغو .Fl ign_eof ضمنیِ ناشی از .Fl quiet استفاده شود. .It Fl no_tls1_2 | no_tls1_3 به ترتیب غیرفعال کردن استفاده از TLS1.2 و TLS1.3. .It Fl no_ticket غیرفعال کردن پشتیبانی از بلیت نشست RFC 4507. .It Fl pass Ar arg The private key password source. .It Fl port Ar port پورت .Ar port برای اتصال. پیش‌فرض ۴۴۳۳ است. .It Fl prexit چاپ اطلاعات نشست هنگام خروج برنامه. این گزینه همواره تلاش می‌کند تا اطلاعات را چاپ کند حتی اگر اتصال شکست بخورد. به طور معمول اطلاعات تنها یک بار در صورت برقراری موفقیت‌آمیز اتصال چاپ می‌شود. این گزینه مفید است زیرا رمزگذار در حال استفاده ممکن است دوباره مذاکره شود، یا اتصال ممکن است به دلیل لزوم ارائه گواهی کلاینت یا درخواست آن پس از تلاش برای دسترسی به یک URL خاص شکست بخورد. توجه داشته باشید که خروجی تولیدشده توسط این گزینه همواره دقیق نیست زیرا ممکن است هرگز اتصالی برقرار نشده باشد. .It Fl proxy Ar host : Ns Ar port استفاده از پراکسی HTTP در .Ar host و .Ar port . اتصال به پراکسی به صورت متن آشکار انجام شده و آرگومان .Fl connect به پراکسی داده می‌شود. در صورت عدم تعیین، localhost به عنوان مقصد نهایی استفاده می‌شود. سپس اتصال از طریق پراکسی به مقصد به TLS تغییر می‌یابد. .It Fl quiet جلوگیری از چاپ اطلاعات نشست و گواهی. این گزینه به طور ضمنی .Fl ign_eof را نیز فعال می‌کند. .It Fl reconnect اتصال مجدد به همان سرور به تعداد ۵ بار با استفاده از شناسه نشست یکسان؛ از این گزینه می‌توان برای آزمایش عملکرد کش نشست استفاده کرد. .It Fl servername Ar name گنجاندن افزونه Server Name Indication (SNI) در پیام ClientHello با استفاده از نام سرور .Ar name . .It Fl showcerts نمایش کل زنجیره گواهی سرور: به طور معمول تنها خود گواهی سرور نمایش داده می‌شود. .It Fl serverpref استفاده از اولویت‌های رمزگذاری سرور. .It Fl sess_in Ar file بارگذاری نشست TLS از فایل. کلاینت تلاش خواهد کرد تا اتصال را از این نشست از سر بگیرد. .It Fl sess_out Ar file خروجی دادن نشست TLS به فایل. .It Fl starttls Ar protocol ارسال پیام‌های ویژه پروتکل برای ارتقای ارتباط به TLS (STARTTLS). .Ar protocol کلیدواژه‌ای برای پروتکل مورد نظر است. در حال حاضر کلیدواژه‌های پشتیبانی‌شده عبارتند از: .Qq ftp ، .Qq imap ، .Qq sieve ، .Qq smtp ، .Qq pop3 و .Qq xmpp . .It Fl state چاپ وضعیت‌های نشست SSL. .It Fl status ارسال درخواست وضعیت گواهی به سرور (OCSP stapling). پاسخ سرور (در صورت وجود) چاپ می‌شود. .It Fl timeout فعال‌سازی مهلت زمانی (timeout) ارسال/دریافت در اتصالات DTLS. .It Fl tls1_2 | tls1_3 به ترتیب اجازه استفاده تنها از TLS1.2 یا TLS1.3. .It Fl tlsextdebug چاپ تخلیه هگز هرگونه افزونه TLS دریافت‌شده از سرور. .It Fl use_srtp Ar profiles پیشنهاد مدیریت کلید SRTP با فهرستی از پروفایل‌های جداشده با دونقطه. .It Fl verify Ar depth فعال‌سازی اعتبارسنجی گواهی سرور، با حداکثر عمق .Ar depth . در حال حاضر عملیات اعتبارسنجی پس از خطاها ادامه می‌یابد تا تمام مشکلات مربوط به زنجیره گواهی قابل مشاهده باشد. به عنوان یک اثر جانبی، اتصال هرگز به دلیل شکست در اعتبارسنجی گواهی سرور متوقف نخواهد شد. .It Fl verify_return_error بازگرداندن خطای اعتبارسنجی. .It Fl xmpphost Ar hostname هنگام استفاده با .Fl starttls Ar xmpp ، میزبان مربوط به ویژگی "to" در عنصر stream را مشخص می‌کند. اگر این گزینه مشخص نشود، میزبان تعیین‌شده با .Fl connect استفاده خواهد شد. .El .Tg s_server .Sh S_SERVER .Bl -hang -width "openssl s_server" .It Nm openssl s_server .Bk -words .Op Fl accept Ar port .Op Fl alpn Ar protocols .Op Fl bugs .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl cert Ar file .Op Fl cert2 Ar file .Op Fl certform Cm der | pem .Op Fl cipher Ar cipherlist .Op Fl context Ar id .Op Fl crl_check .Op Fl crl_check_all .Op Fl crlf .Op Fl dcert Ar file .Op Fl dcertform Cm der | pem .Op Fl debug .Op Fl dhparam Ar file .Op Fl dkey Ar file .Op Fl dkeyform Cm der | pem .Op Fl dpass Ar arg .Op Fl dtls .Op Fl dtls1 .Op Fl dtls1_2 .Op Fl groups Ar list .Op Fl HTTP .Op Fl id_prefix Ar arg .Op Fl key Ar keyfile .Op Fl key2 Ar keyfile .Op Fl keyform Cm der | pem .Op Fl keymatexport Ar label .Op Fl keymatexportlen Ar len .Op Fl msg .Op Fl mtu Ar mtu .Op Fl naccept Ar num .Op Fl named_curve Ar arg .Op Fl nbio .Op Fl nbio_test .Op Fl no_cache .Op Fl no_dhe .Op Fl no_ecdhe .Op Fl no_ticket .Op Fl no_tls1_2 .Op Fl no_tls1_3 .Op Fl no_tmp_rsa .Op Fl nocert .Op Fl pass Ar arg .Op Fl quiet .Op Fl servername Ar name .Op Fl servername_fatal .Op Fl serverpref .Op Fl state .Op Fl status .Op Fl status_timeout Ar nsec .Op Fl status_url Ar url .Op Fl status_verbose .Op Fl timeout .Op Fl tls1_2 .Op Fl tls1_3 .Op Fl tlsextdebug .Op Fl use_srtp Ar profiles .Op Fl Verify Ar depth .Op Fl verify Ar depth .Op Fl verify_return_error .Op Fl WWW .Op Fl www .Ek .El .Pp دستور .Nm s_server یک سرور عمومی SSL/TLS را پیاده‌سازی می‌کند که برای اتصالات روی پورت مشخص با استفاده از SSL/TLS شنود می‌کند. .Pp اگر درخواست اتصالی با یک کلاینت برقرار شود و نه گزینه .Fl www و نه .Fl WWW استفاده نشده باشد، هر داده دریافت‌شده از کلاینت نمایش داده شده و فشردن کلیدها به کلاینت ارسال می‌شود. برخی دستورات تک‌حرفی عملیات‌های خاصی انجام می‌دهند: .Pp .Bl -tag -width "XXXX" -compact .It Ic P ارسال متن ساده، که باید باعث قطع اتصال کلاینت شود. .It Ic Q پایان دادن به اتصال SSL جاری و خروج. .It Ic q پایان دادن به اتصال SSL جاری، اما همچنان پذیرش اتصالات جدید. .It Ic R مذاکره مجدد نشست SSL و درخواست گواهی کلاینت. .It Ic r مذاکره مجدد نشست SSL. .It Ic S چاپ برخی اطلاعات مربوط به وضعیت کش نشست. .El .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl accept Ar port شنود روی پورت TCP .Ar port برای اتصالات. پیش‌فرض پورت ۴۴۳۳ است. .It Fl alpn Ar protocols فعال‌سازی مذاکره پروتکل لایه کاربرد (ALPN). .Ar protocols فهرستی جداشده با کاما از نام‌های پروتکل‌های پشتیبانی‌شده است. .It Fl bugs فعال‌سازی راهکارهای ترمیمی گوناگون برای پیاده‌سازی‌های دارای باگ. .It Fl CAfile Ar file یک .Ar file حاوی گواهی‌های معتمد جهت استفاده هنگام احراز اصالت کلاینت و هنگام تلاش برای ساخت زنجیره گواهی سرور. این فهرست همچنین در فهرست CAهای قابل قبول کلاینت که هنگام درخواست گواهی به کلاینت ارسال می‌شود به کار می‌رود. .It Fl CApath Ar directory دایرکتوری .Ar directory مورد استفاده برای اعتبارسنجی گواهی کلاینت. این پوشه باید در .Qq قالب هش باشد؛ برای اطلاعات بیشتر به .Fl verify مراجعه کنید. این موارد همچنین هنگام ساخت زنجیره گواهی سرور استفاده می‌شوند. .It Fl cert Ar file گواهی مورد استفاده: اکثر مجموعه‌های رمزنگاری سرور به استفاده از یک گواهی نیاز دارند و برخی به گواهی با نوع کلید عمومی خاصی نیاز دارند. برای نمونه، مجموعه‌های رمزنگاری DSS به گواهی حاوی کلید DSS (DSA) نیاز دارند. در صورت عدم تعیین، فایل .Pa server.pem استفاده خواهد شد. .It Fl cert2 Ar file گواهی مورد استفاده برای servername. .It Fl certform Cm der | pem قالب گواهی. حالت پیش‌فرض .Cm pem است. .It Fl cipher Ar cipherlist اصلاح فهرست رمزگذارهای مورد استفاده سرور. این گزینه امکان تغییر فهرست رمزگذارهای سرور را فراهم می‌کند. هنگامی که کلاینت فهرستی از رمزگذارهای پشتیبانی‌شده را ارسال می‌کند، اولین رمزگذار کلاینت که در فهرست سرور نیز وجود داشته باشد استفاده می‌شود. از آنجا که کلاینت ترتیب اولویت را مشخص می‌کند، ترتیب فهرست رمزگذار سرور بی‌تاثیر است. See the .Nm ciphers command for more information. .It Fl context Ar id تنظیم شناسه بستر (context ID) برای SSL. می‌تواند هر مقدار رشته‌ای دلخواهی باشد. .It Fl crl_check , crl_check_all بررسی اینکه گواهی همتا توسط CA مربوطه باطل نشده باشد. فایل‌های CRL به فایل گواهی پیوست می‌شوند. گزینه .Fl crl_check_all تمام CRLهای همه CAهای موجود در زنجیره را بررسی می‌کند. .It Fl crlf تبدیل کاراکتر پایان خط ترمینال به CR+LF. .It Fl dcert Ar file , Fl dkey Ar file مشخص کردن گواهی و کلید خصوصی اضافی؛ این موارد همانند گزینه‌های .Fl cert و .Fl key رفتار می‌کنند با این تفاوت که در صورت عدم تعیین، پیش‌فرضی ندارند (هیچ گواهی یا کلید اضافی استفاده نمی‌شود). با استفاده از گواهی‌ها و کلیدهای RSA و DSS، یک سرور می‌تواند با استفاده از گواهی مناسب از کلاینت‌هایی که تنها از مجموعه‌های رمزنگاری RSA یا DSS پشتیبانی می‌کنند پشتیبانی نماید. .It Fl dcertform Cm der | pem , Fl dkeyform Cm der | pem , Fl dpass Ar arg به ترتیب قالب گواهی و کلید خصوصی اضافی، و منبع گذرواژه کلید خصوصی. .It Fl debug چاپ اطلاعات گسترده اشکال‌زدایی، شامل تخلیه هگز (hex dump) تمام ترافیک شبکه. .It Fl dhparam Ar file فایل پارامتر DH مورد استفاده. مجموعه‌های رمزنگاری گذرا (ephemeral) دیفی-هلمن کلیدها را با استفاده از مجموعه‌ای از پارامترهای DH تولید می‌کنند. در صورت عدم تعیین، تلاشی برای بارگذاری پارامترها از فایل گواهی سرور انجام می‌شود. اگر این کار شکست بخورد، مجموعه‌ای ایستا از پارامترها که در برنامه .Nm s_server تعبیه شده‌اند استفاده خواهد شد. .It Fl dtls اجازه استفاده از هر نسخه‌ای از DTLS. .It Fl dtls1_2 اجازه استفاده تنها از نسخه ۱.۲ پروتکل DTLS. .It Fl groups Ar list تنظیم گروه‌های منحنی بیضوی پشتیبانی‌شده بر اساس .Ar list جداشده با دونقطه از NIDها یا نام‌های گروه طبق آنچه در .Xr SSL_CTX_set1_groups_list 3 مستند شده است. .It Fl HTTP شبیه‌سازی یک وب‌سرور ساده. صفحات نسبت به دایرکتوری جاری آدرس‌دهی می‌شوند. برای نمونه اگر نشانی .Pa https://myhost/page.html درخواست شود، فایل .Pa ./page.html بارگذاری خواهد شد. فرض بر این است که فایل‌های بارگذاری‌شده شامل یک پاسخ کامل و صحیح HTTP هستند (سطرهایی که بخشی از سطر پاسخ HTTP و هدرها هستند باید به CRLF ختم شوند). .It Fl id_prefix Ar arg تولید شناسه‌های نشست SSL/TLS با پیشوند .Ar arg . این گزینه عمدتاً برای آزمایش کدهای SSL/TLS که با چندین سرور تعامل دارند کاربرد دارد، زمانی که هر سرور ممکن است محدوده یکتایی از شناسه‌های نشست را تولید کند. .It Fl key Ar keyfile کلید خصوصی مورد استفاده. در صورت عدم تعیین، از فایل گواهی استفاده خواهد شد. .It Fl key2 Ar keyfile کلید خصوصی مورد استفاده برای servername. .It Fl keyform Cm der | pem The private key format. The default is .Cm pem . .It Fl keymatexport Ar label استخراج داده‌های کلیدی (keying material) با استفاده از برچسب. .It Fl keymatexportlen Ar len استخراج len بایت از داده‌های کلیدی (پیش‌فرض ۲۰). .It Fl msg نمایش تمام پیام‌های پروتکل همراه با تخلیه هگز. .It Fl mtu Ar mtu تنظیم MTU لایه پیوند. .It Fl naccept Ar num خاتمه سرور پس از .Ar num اتصال. .It Fl named_curve Ar arg مشخص کردن نام منحنی بیضوی برای کلیدهای گذرای ECDH. این گزینه منسوخ شده است؛ به جای آن از .Fl groups استفاده کنید. .It Fl nbio فعال‌سازی ورودی/خروجی غیرمسدودکننده (non-blocking I/O). .It Fl nbio_test آزمایش ورودی/خروجی غیرمسدودکننده. .It Fl no_cache غیرفعال کردن کش نشست. .It Fl no_dhe غیرفعال کردن مجموعه‌های رمزنگاری گذرا (ephemeral) دیفی-هلمن. .It Fl no_ecdhe غیرفعال کردن مجموعه‌های رمزنگاری گذرای ECDH. .It Fl no_ticket غیرفعال کردن پشتیبانی از بلیت نشست RFC 4507. .It Fl no_tls1_2 | no_tls1_3 به ترتیب غیرفعال کردن استفاده از TLS1.2 و TLS1.3. .It Fl no_tmp_rsa غیرفعال کردن تولید کلید موقت RSA. .It Fl nocert عدم استفاده از گواهی. این کار مجموعه‌های رمزنگاری در دسترس را به موارد ناشناس (در حال حاضر تنها DH ناشناس) محدود می‌کند. .It Fl pass Ar arg The private key password source. .It Fl quiet Inhibit printing of session and certificate information. .It Fl servername Ar name تنظیم افزونه Server Name Indication (SNI) با .Ar name . .It Fl servername_fatal ارسال هشدار مهلک (fatal alert) در صورت عدم تطابق servername. حالت پیش‌فرض هشدار اخطار (warning alert) است. .It Fl serverpref استفاده از اولویت‌های رمزگذاری سرور. .It Fl state چاپ وضعیت‌های نشست SSL. .It Fl status فعال‌سازی پشتیبانی از درخواست وضعیت گواهی (OCSP stapling). .It Fl status_timeout Ar nsec تنظیم مهلت زمانی پاسخ OCSP به ثانیه. .It Fl status_url Ar url تنظیم یک آدرس URL پاسخ‌دهنده پشتیبان در صورتی که هیچ نشانی پاسخ‌دهنده‌ای در گواهی سرور موجود نباشد. بدون این گزینه، اگر گواهی سرور شامل نشانی پاسخ‌دهنده نباشد، خطایی بازگردانده می‌شود. .It Fl status_verbose فعال‌سازی پشتیبانی از درخواست وضعیت گواهی (OCSP stapling) و چاپ کامل پاسخ OCSP همراه با جزئیات. .It Fl timeout فعال‌سازی مهلت زمانی (timeout) ارسال/دریافت در اتصالات DTLS. .It Fl tls1_2 | tls1_3 به ترتیب اجازه استفاده تنها از TLS1.2 یا TLS1.3. .It Fl tlsextdebug چاپ تخلیه هگز هرگونه افزونه TLS دریافت‌شده از سرور. .It Fl use_srtp Ar profiles پیشنهاد مدیریت کلید SRTP با فهرستی از پروفایل‌های جداشده با دونقطه. .It Fl verify_return_error بازگرداندن خطای اعتبارسنجی. .It Fl WWW Emulate a simple web server. Pages are resolved relative to the current directory. For example if the URL .Pa https://myhost/page.html is requested, the file .Pa ./page.html will be loaded. .It Fl www ارسال پیام وضعیت به کلاینت هنگام اتصال، شامل اطلاعات درباره رمزگذارهای استفاده‌شده و پارامترهای مختلف نشست. خروجی در قالب HTML است بنابراین این گزینه معمولاً با یک مرورگر وب استفاده می‌شود. .It Fl Verify Ar depth , Fl verify Ar depth درخواست یک زنجیره گواهی از کلاینت، با حداکثر طول .Ar depth . با گزینه .Fl Verify ، کلاینت باید حتماً گواهی ارائه دهد در غیر این صورت خطا رخ می‌دهد؛ با گزینه .Fl verify ، گواهی درخواست می‌شود اما کلاینت مجبور به ارسال آن نیست. .El .Tg s_time .Sh S_TIME .Bl -hang -width "openssl s_time" .It Nm openssl s_time .Bk -words .Op Fl bugs .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl cert Ar file .Op Fl cipher Ar cipherlist .Op Fl connect Ar host Ns Op : Ns Ar port .Op Fl key Ar keyfile .Op Fl nbio .Op Fl new .Op Fl no_shutdown .Op Fl reuse .Op Fl time Ar seconds .Op Fl verify Ar depth .Op Fl www Ar page .Ek .El .Pp دستور .Nm s_time یک کلاینت عمومی SSL/TLS را پیاده‌سازی می‌کند که با استفاده از SSL/TLS به یک میزبان راه دور متصل می‌شود. این ابزار می‌تواند صفحه‌ای را از سرور درخواست کند و زمان انتقال داده‌های مفید (payload) را در اندازه‌گیری‌های زمانی خود لحاظ نماید. این دستور تعداد اتصالات در یک بازه زمانی مشخص، میزان داده‌های منتقل‌شده .Pq در صورت وجود را اندازه‌گیری کرده و میانگین زمان صرف‌شده برای یک اتصال را محاسبه می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl bugs فعال‌سازی راهکارهای ترمیمی گوناگون برای پیاده‌سازی‌های دارای باگ. .It Fl CAfile Ar file یک .Ar file حاوی گواهی‌های معتمد جهت استفاده در احراز اصالت سرور و برای استفاده هنگام تلاش جهت ساخت زنجیره گواهی کلاینت. .It Fl CApath Ar directory The directory to use for server certificate verification. This directory must be in .Qq hash format ; see .Nm verify for more information. These are also used when building the client certificate chain. .It Fl cert Ar file گواهی مورد استفاده در صورتی که توسط سرور درخواست شود. حالت پیش‌فرض عدم استفاده از گواهی است. .It Fl cipher Ar cipherlist Modify the cipher list sent by the client. Although the server determines which cipher suite is used, it should take the first supported cipher in the list sent by the client. See the .Nm ciphers command for more information. .It Fl connect Ar host Ns Op : Ns Ar port میزبان و پورت برای اتصال. .It Fl key Ar keyfile کلید خصوصی مورد استفاده. در صورت عدم تعیین، از فایل گواهی استفاده خواهد شد. .It Fl nbio فعال‌سازی ورودی/خروجی غیرمسدودکننده (non-blocking I/O). .It Fl new انجام آزمون زمان‌سنجی با استفاده از یک شناسه نشست جدید برای هر اتصال. اگر هیچ‌یک از گزینه‌های .Fl new و .Fl reuse مشخص نشوند، هر دو به طور پیش‌فرض فعال بوده و به ترتیب اجرا می‌شوند. .It Fl no_shutdown قطع اتصال بدون ارسال هشدار قطع اتصال .Qq close notify به سرور. .It Fl reuse انجام آزمون زمان‌سنجی با استفاده از همان شناسه نشست قبلی برای هر اتصال. اگر هیچ‌یک از گزینه‌های .Fl new و .Fl reuse مشخص نشوند، هر دو به طور پیش‌فرض فعال بوده و به ترتیب اجرا می‌شوند. .It Fl time Ar seconds محدود کردن بنچمارک‌های .Nm s_time به مدت .Ar seconds ثانیه. حالت پیش‌فرض ۳۰ ثانیه است. .It Fl verify Ar depth فعال‌سازی اعتبارسنجی گواهی سرور، با حداکثر طول .Ar depth . در حال حاضر عملیات اعتبارسنجی پس از خطاها ادامه می‌یابد تا تمام مشکلات زنجیره گواهی قابل مشاهده باشد. به عنوان یک اثر جانبی، اتصال هرگز به دلیل شکست در اعتبارسنجی گواهی سرور متوقف نخواهد شد. .It Fl www Ar page صفحه‌ای که باید با متد GET از سرور دریافت شود. مقدار .Sq / صفحه index.htm[l] را دریافت می‌کند. اگر این پارامتر مشخص نشود، .Nm s_time تنها دست‌تکانی (handshake) برقراری اتصالات SSL را انجام می‌دهد اما هیچ داده مفیدی (payload) را منتقل نخواهد کرد. .El .Tg sess_id .Sh SESS_ID .Bl -hang -width "openssl sess_id" .It Nm openssl sess_id .Bk -words .Op Fl cert .Op Fl context Ar ID .Op Fl in Ar file .Op Fl inform Cm der | pem .Op Fl noout .Op Fl out Ar file .Op Fl outform Cm der | pem .Op Fl text .Ek .El .Pp برنامه .Nm sess_id نسخه کدگذاری‌شده ساختار نشست SSL را پردازش می‌کند و به صورت اختیاری جزئیات نشست SSL (برای نمونه کلید اصلی یا master key نشست SSL) را در قالبی خوانا برای انسان چاپ می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl cert اگر گواهی در نشست وجود داشته باشد، با این گزینه به خروجی ارسال می‌شود؛ اگر گزینه .Fl text نیز درج شده باشد، در قالب متنی چاپ خواهد شد. .It Fl context Ar ID تنظیم شناسه نشست .Ar ID . شناسه می‌تواند هر رشته‌ای از کاراکترها باشد. .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت عدم تعیین. .It Fl inform Cm der | pem قالب ورودی. .Cm der از قالب کدگذاری‌شده ASN.1 DER حاوی جزئیات نشست استفاده می‌کند. قالب دقیق می‌تواند از یک نسخه به نسخه دیگر متفاوت باشد. .Cm pem قالب پیش‌فرض است: شامل قالب DER کدگذاری‌شده با Base64 همراه با خطوط هدر و فوتر اضافی است. .It Fl noout از خروجی دادن نسخه کدگذاری‌شده نشست خودداری می‌کند. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl outform Cm der | pem قالب خروجی. .It Fl text علاوه بر نسخه کدگذاری‌شده، اجزای مختلف کلید عمومی یا خصوصی را در قالب متن آشکار چاپ می‌کند. .El .Pp خروجی .Nm sess_id به صورت زیر تشکیل شده است: .Pp .Bl -tag -width "Verify return code " -offset 3n -compact .It Protocol پروتکل در حال استفاده. .It Cipher کد خام رمزگذار واقعی SSL یا TLS. .It Session-ID شناسه نشست SSL در قالب هگز. .It Session-ID-ctx بستر شناسه نشست در قالب هگز. .It Master-Key کلید اصلی (master key) نشست SSL. .It Key-Arg آرگومان کلید؛ تنها در SSL v2 کاربرد دارد. .It Start Time زمان شروع نشست در قالب .Ux . .It Timeout مهلت زمانی به ثانیه. .It Verify return code کد بازگشتی هنگام اعتبارسنجی گواهی. .El .Pp از آنجا که خروجی نشست SSL شامل کلید اصلی است، خواندن محتوای یک نشست رمزگذاری‌شده با استفاده از این اطلاعات امکان‌پذیر است. بنابراین در صورتی که این اطلاعات توسط یک برنامه .Qq واقعی خروجی داده می‌شود باید تدابیر امنیتی مناسب اتخاذ گردد. با این حال، این کار اکیداً منع می‌شود و تنها باید برای اهداف اشکال‌زدایی استفاده شود. .Tg smime .Sh SMIME .Bl -hang -width "openssl smime" .It Nm openssl smime .Bk -words .Oo .Fl aes128 | aes192 | aes256 | des | .Fl des3 | rc2-40 | rc2-64 | rc2-128 .Oc .Op Fl binary .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl certfile Ar file .Op Fl check_ss_sig .Op Fl content Ar file .Op Fl crl_check .Op Fl crl_check_all .Op Fl decrypt .Op Fl encrypt .Op Fl extended_crl .Op Fl from Ar addr .Op Fl ignore_critical .Op Fl in Ar file .Op Fl indef .Op Fl inform Cm der | pem | smime .Op Fl inkey Ar file .Op Fl issuer_checks .Op Fl keyform Cm der | pem .Op Fl md Ar digest .Op Fl noattr .Op Fl nocerts .Op Fl nochain .Op Fl nodetach .Op Fl noindef .Op Fl nointern .Op Fl nosigs .Op Fl nosmimecap .Op Fl noverify .Op Fl out Ar file .Op Fl outform Cm der | pem | smime .Op Fl passin Ar arg .Op Fl pk7out .Op Fl policy_check .Op Fl recip Ar file .Op Fl resign .Op Fl sign .Op Fl signer Ar file .Op Fl stream .Op Fl subject Ar s .Op Fl text .Op Fl to Ar addr .Op Fl verify .Op Fl x509_strict .Op Ar cert.pem ... .Ek .El .Pp دستور .Nm smime نامه‌های S/MIME را مدیریت می‌کند. این ابزار می‌تواند پیام‌های S/MIME را رمزگذاری، رمزگشایی، امضا و اعتبارسنجی کند. .Pp پیام MIME باید بدون هیچ خط خالی میان هدرها و خروجی ارسال شود. برخی برنامه‌های پستی به طور خودکار یک خط خالی اضافه می‌کنند. ارسال مستقیم نامه از طریق پایپ به یک MTA یکی از راه‌های دستیابی به قالب صحیح است. .Pp پیام ارائه‌شده برای امضا یا رمزگذاری باید شامل هدرهای لازم MIME باشد، در غیر این صورت بسیاری از کلاینت‌های S/MIME آن را به درستی نمایش نخواهند داد (یا اصلاً نمایش نمی‌دهند). از گزینه .Fl text برای افزودن خودکار هدرهای متن ساده استفاده کنید. .Pp یک پیام .Qq امضا و رمزگذاری‌شده پیامی است که ابتدا امضا شده و سپس رمزگذاری می‌گردد. این کار را می‌توان با رمزگذاری پیامی که قبلاً امضا شده است انجام داد. .Pp تعدادی از عملیات قابل انجام به شرح زیر هستند: .Bl -tag -width "XXXX" .It Fl decrypt رمزگشایی ایمیل با استفاده از گواهی و کلید خصوصی ارائه‌شده. فایل ورودی یک پیام ایمیل رمزگذاری‌شده در قالب MIME است. ایمیل رمزگشایی‌شده در فایل خروجی نوشته می‌شود. .It Fl encrypt رمزگذاری ایمیل برای گواهی‌های گیرنده ارائه‌شده. ورودی پیامی است که باید رمزگذاری شود. فایل خروجی ایمیل رمزگذاری‌شده در قالب MIME است. .It Fl pk7out دریافت یک پیام ورودی و نوشتن ساختار PKCS#7 با کدگذاری PEM در خروجی. .It Fl resign امضای مجدد پیام: دریافت یک پیام موجود و یک یا چند امضاکننده جدید. .It Fl sign امضای ایمیل با استفاده از گواهی و کلید خصوصی ارائه‌شده. فایل ورودی پیامی است که باید امضا شود. پیام امضاشده در قالب MIME در فایل خروجی نوشته می‌شود. .It Fl verify اعتبارسنجی ایمیل امضاشده. ورودی یک پیام ایمیل امضاشده و خروجی داده‌های امضاشده است. هر دو امضای متن آشکار و امضای مات پشتیبانی می‌شوند. .El .Pp سایر گزینه‌ها به شرح زیر هستند: .Bl -tag -width "XXXX" .It Xo .Fl aes128 | aes192 | aes256 | des | .Fl des3 | rc2-40 | rc2-64 | rc2-128 .Xc الگوریتم رمزگذاری مورد استفاده. به ترتیب الگوریتم‌های AES با طول ۱۲۸، ۱۹۲ یا ۲۵۶ بیت، DES (۵۶ بیت)، Triple DES (۱۶۸ بیت)، یا RC2 با طول ۴۰، ۶۴ یا ۱۲۸ بیت؛ در صورت عدم تعیین، AES با طول ۲۵۶ بیت استفاده می‌شود. تنها با گزینه .Fl encrypt استفاده می‌شود. .It Fl binary به طور معمول، پیام ورودی به قالب .Qq استاندارد (canonical) که از CR/LF به عنوان پایان خط طبق الزامات S/MIME استفاده می‌کند تبدیل می‌شود. در صورت وجود این گزینه، هیچ تبدیلی رخ نمی‌دهد. این گزینه هنگام پردازش داده‌های دودویی که ممکن است در قالب MIME نباشند مفید است. .It Fl CAfile Ar file یک .Ar file حاوی گواهی‌های معتمد CA؛ تنها همراه با .Fl verify استفاده می‌شود. .It Fl CApath Ar directory یک .Ar directory حاوی گواهی‌های معتمد CA؛ تنها همراه با .Fl verify استفاده می‌شود. این پوشه باید یک پوشه استاندارد گواهی باشد: بدین معنا که هشی از هر نام موضوع (با استفاده از .Nm x509 -hash ) باید به هر گواهی پیوند داده شده باشد. .It Ar cert.pem ... یک یا چند گواهی از گیرندگان پیام: هنگام رمزگذاری یک پیام استفاده می‌شود. .It Fl certfile Ar file امکان تعیین گواهی‌های اضافی را فراهم می‌کند. هنگام امضا، این گواهی‌ها همراه با پیام درج می‌شوند. هنگام اعتبارسنجی، این گواهی‌ها برای یافتن گواهی‌های امضاکنندگان جستجو می‌شوند. گواهی‌ها باید در قالب PEM باشند. .It Xo .Fl check_ss_sig , .Fl crl_check , .Fl crl_check_all , .Fl extended_crl , .Fl ignore_critical , .Fl issuer_checks , .Fl policy_check , .Fl x509_strict .Xc تنظیم گزینه‌های گوناگون اعتبارسنجی زنجیره گواهی. برای جزئیات به دستور .Nm verify مراجعه کنید. .It Fl content Ar file فایلی حاوی محتوای جداشده. این گزینه تنها همراه با گزینه .Fl verify مفید است، و تنها زمانی قابل استفاده است که ساختار PKCS#7 از فرم امضای جداشده استفاده کند که در آن محتوا درج نشده است. اگر قالب ورودی S/MIME باشد و از نوع MIME multipart/signed استفاده کند، این گزینه هر محتوایی را بازنویسی خواهد کرد. .It Xo .Fl from Ar addr , .Fl subject Ar s , .Fl to Ar addr .Xc سرایندهای مرتبط با ایمیل. این سرایندها در خارج از بخش امضاشده پیام قرار می‌گیرند بنابراین می‌توان آن‌ها را به صورت دستی درج کرد. هنگام امضا، بسیاری از کلاینت‌های ایمیل S/MIME بررسی می‌کنند که نشانی ایمیل گواهی امضاکننده با نشانی From: مطابقت داشته باشد. .It Fl in Ar file فایل ورودی برای خواندن از آن. .It Fl indef فعال‌سازی ورودی/خروجی جریانی برای عملیات کدگذاری. این کار امکان پردازش تک‌گذره داده‌ها را بدون نیاز به نگهداری کل محتوا در حافظه فراهم کرده و از فایل‌های بسیار حجیم پشتیبانی می‌کند. حالت جریانی برای امضای S/MIME با داده‌های جداشده در صورتی که قالب خروجی SMIME باشد به طور خودکار فعال است؛ در حال حاضر برای تمام عملیات دیگر به طور پیش‌فرض خاموش است. .It Fl inform Cm der | pem | smime قالب ورودی. .It Fl inkey Ar file کلید خصوصی مورد استفاده هنگام امضا یا رمزگشایی، که باید با گواهی مربوطه مطابقت داشته باشد. اگر این گزینه مشخص نشود، کلید خصوصی باید در فایل گواهی تعیین‌شده با گزینه .Fl recip یا .Fl signer گنجانده شده باشد. هنگام امضا، این گزینه می‌تواند چندین بار برای تعیین کلیدهای متوالی استفاده شود. .It Fl keyform Cm der | pem قالب کلید خصوصی ورودی. حالت پیش‌فرض .Cm pem است. .It Fl md Ar digest الگوریتم خلاصه پیام مورد استفاده هنگام امضا یا امضای مجدد. اگر وجود نداشته باشد، از الگوریتم پیش‌فرض خلاصه پیام برای کلید امضا استفاده می‌شود (معمولاً SHA1). .It Fl noattr ویژگی‌ها را درج نمی‌کند. .It Fl nocerts گواهی امضاکننده را درج نمی‌کند. این کار اندازه پیام امضاشده را کاهش می‌دهد اما اعتبارسنج باید یک نسخه از گواهی امضاکننده را به صورت محلی در دسترس داشته باشد (برای نمونه با گزینه .Fl certfile ارائه شده باشد). .It Fl nochain اعتبارسنجی زنجیره‌ای گواهی‌های امضاکنندگان را انجام نمی‌دهد: بدین معنا که از گواهی‌های موجود در پیام امضاشده به عنوان CAهای غیرمعتمد استفاده نمی‌کند. .It Fl nodetach هنگام امضای پیام، از امضای مات (opaque) استفاده می‌کند: این فرمت در برابر دستکاری توسط رله‌های پستی مقاوم‌تر است اما توسط کلاینت‌هایی که از S/MIME پشتیبانی نمی‌کنند خوانده نمی‌شود. بدون این گزینه، امضای متن آشکار با نوع MIME multipart/signed استفاده می‌شود. .It Fl noindef غیرفعال کردن ورودی/خروجی جریانی در مواردی که منجر به کدگذاری با طول نامعین شود (در حال حاضر تاثیری ندارد). .It Fl nointern تنها از گواهی‌های مشخص‌شده در .Fl certfile استفاده می‌کند. گواهی‌های ارائه‌شده همچنان می‌توانند به عنوان CAهای غیرمعتمد به کار روند. .It Fl nosigs تلاشی برای اعتبارسنجی امضاهای روی پیام انجام نمی‌دهد. .It Fl nosmimecap فهرست الگوریتم‌های پشتیبانی‌شده را از ویژگی‌های امضاشده حذف می‌کند؛ سایر گزینه‌ها مانند زمان امضا و نوع محتوا همچنان درج می‌شوند. .It Fl noverify گواهی امضاکننده یک پیام امضاشده را اعتبارسنجی نمی‌کند. .It Fl out Ar file فایل خروجی برای نوشتن در آن. .It Fl outform Cm der | pem | smime قالب خروجی. پیش‌فرض smime است که پیامی در قالب S/MIME می‌نویسد. قالب‌های .Cm pem و .Cm der این رفتار را تغییر می‌دهند تا به جای آن ساختارهای PKCS#7 با قالب PEM و DER نوشته شوند. این گزینه در حال حاضر تنها بر قالب خروجی ساختار PKCS#7 اثر می‌گذارد؛ اگر ساختار PKCS#7 در خروجی نباشد (برای نمونه با .Fl verify یا .Fl decrypt ) این گزینه تاثیری ندارد. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl recip Ar file گواهی گیرنده هنگام رمزگشایی پیام. این گواهی باید با یکی از گیرندگان پیام مطابقت داشته باشد در غیر این صورت خطا رخ می‌دهد. .It Fl signer Ar file گواهی امضاکننده هنگام امضا یا امضای مجدد پیام؛ اگر بیش از یک امضاکننده لازم باشد، این گزینه می‌تواند چندین بار استفاده شود. اگر پیامی در حال اعتبارسنجی باشد، گواهی‌های امضاکننده در صورت موفقیت اعتبارسنجی در این فایل نوشته خواهند شد. .It Fl stream مشابه .Fl indef . .It Fl text افزودن هدرهای MIME متن ساده (text/plain) به پیام ارائه‌شده در صورت رمزگذاری یا امضا. در صورت رمزگشایی یا اعتبارسنجی، هدرهای متنی را حذف می‌کند: اگر پیام رمزگشایی‌شده یا اعتبارسنجی‌شده از نوع MIME text/plain نباشد، خطایی رخ می‌دهد. .El .Pp کدهای خروج برای .Nm smime به شرح زیر هستند: .Pp .Bl -tag -width "XXXX" -offset 3n -compact .It 0 عملیات کاملاً موفقیت‌آمیز بود. .It 1 خطایی هنگام تجزیه گزینه‌های دستور رخ داد. .It 2 یکی از فایل‌های ورودی قابل خواندن نبود. .It 3 خطایی هنگام ایجاد فایل یا خواندن پیام رخ داد. .It 4 خطایی هنگام رمزگشایی یا اعتبارسنجی پیام رخ داد. .It 5 خطایی هنگام نوشتن گواهی‌ها رخ داد. .El .Tg speed .Sh SPEED .Bl -hang -width "openssl speed" .It Nm openssl speed .Bk -words .Op Ar algorithm .Op Fl decrypt .Op Fl elapsed .Op Fl evp Ar algorithm .Op Fl mr .Op Fl multi Ar number .Op Fl unaligned Ar number .Ek .El .Pp دستور .Nm speed برای سنجش کارایی و سرعت الگوریتم‌های رمزنگاری استفاده می‌شود. .Bl -tag -width "XXXX" .It Ar algorithm انجام آزمون با استفاده از الگوریتم .Ar algorithm . حالت پیش‌فرض آزمودن تمامی الگوریتم‌ها است. .It Fl decrypt زمان‌سنجی رمزگشایی به جای رمزگذاری؛ باید همراه با .Fl evp استفاده شود. .It Fl elapsed اندازه‌گیری زمان بر حسب زمان واقعی (real time) به جای زمان پردازنده (CPU time). .It Fl evp Ar algorithm انجام آزمون با استفاده از یکی از الگوریتم‌های پذیرفته‌شده توسط .Xr EVP_get_cipherbyname 3 . .It Fl mr تولید خروجی قابل خواندن توسط ماشین (machine-readable). .It Fl multi Ar number اجرای .Ar number بنچمارک به صورت موازی. .It Fl unaligned Ar number استفاده از بافرهای تخصیص‌یافته با آفست .Ar number بایت از تراز ارائه‌شده توسط .Xr malloc 3 . پارامتر .Ar number باید عددی بین ۰ تا ۱۶ باشد. .El .Tg ts .Sh TS .Bk -words .Bl -hang -width "openssl ts" .It Nm openssl ts .Fl query .Op Fl md4 | md5 | ripemd160 | sha1 .Op Fl cert .Op Fl config Ar configfile .Op Fl data Ar file_to_hash .Op Fl digest Ar digest_bytes .Op Fl in Ar request.tsq .Op Fl no_nonce .Op Fl out Ar request.tsq .Op Fl policy Ar object_id .Op Fl text .It Nm openssl ts .Fl reply .Op Fl chain Ar certs_file.pem .Op Fl config Ar configfile .Op Fl in Ar response.tsr .Op Fl inkey Ar private.pem .Op Fl out Ar response.tsr .Op Fl passin Ar arg .Op Fl policy Ar object_id .Op Fl queryfile Ar request.tsq .Op Fl section Ar tsa_section .Op Fl signer Ar tsa_cert.pem .Op Fl text .Op Fl token_in .Op Fl token_out .It Nm openssl ts .Fl verify .Op Fl CAfile Ar trusted_certs.pem .Op Fl CApath Ar trusted_cert_path .Op Fl data Ar file_to_hash .Op Fl digest Ar digest_bytes .Op Fl in Ar response.tsr .Op Fl queryfile Ar request.tsq .Op Fl token_in .Op Fl untrusted Ar cert_file.pem .El .Ek .Pp دستور .Nm ts یک برنامه کلاینت و سرور پایه برای مرجع برچسب‌گذاری زمانی یا Time Stamping Authority (TSA) طبق استاندارد RFC 3161 (پروتکل برچسب زمانی یا TSP) است. یک TSA می‌تواند بخشی از استقرار یک زیرساخت کلید عمومی (PKI) باشد و نقش آن ارائه اثبات بلندمدت برای وجود داده‌های مشخص است. شرح مختصری از این پروتکل به قرار زیر است: .Bl -enum .It کلاینت TSA یک مقدار هش یک‌طرفه برای فایل داده محاسبه کرده و هش را به TSA ارسال می‌کند. .It مرجع TSA تاریخ و زمان جاری را به مقدار هش دریافت‌شده ضمیمه کرده، آن‌ها را امضا می‌کند و توکن برچسب زمانی را به کلاینت بازمی‌گرداند. با ایجاد این توکن، TSA وجود فایل داده اصلی را در زمان تولید پاسخ گواهی می‌کند. .It کلاینت TSA توکن برچسب زمانی را دریافت کرده و امضای روی آن را اعتبارسنجی می‌کند. همچنین بررسی می‌کند که آیا توکن شامل همان مقدار هشی است که به TSA فرستاده بود یا خیر. .El .Pp یک واحد داده پروتکل (PDU) کدگذاری‌شده با DER برای انتقال درخواست برچسب زمانی به TSA و یکی برای ارسال پاسخ برچسب زمانی به کلاینت تعریف شده است. دستور .Nm ts سه عملکرد اصلی دارد: ایجاد درخواست برچسب زمانی بر اساس یک فایل داده؛ ایجاد پاسخ برچسب زمانی بر اساس یک درخواست؛ و اعتبارسنجی این که آیا پاسخ متناظر با یک درخواست خاص یا فایل داده است یا خیر. .Pp هنوز هیچ پشتیبانی برای ارسال خودکار درخواست‌ها/پاسخ‌ها از طریق HTTP یا TCP مطابق پیشنهاد RFC 3161 وجود ندارد. کاربران باید درخواست‌ها را از طریق FTP یا ایمیل ارسال کنند. .Pp سوئیچ .Fl query می‌تواند برای ایجاد و چاپ درخواست برچسب زمانی همراه با گزینه‌های زیر استفاده شود: .Bl -tag -width Ds .It Fl cert انتظار از TSA برای گنجاندن گواهی امضای خود در پاسخ. .It Fl config Ar configfile مشخص کردن فایل پیکربندی جایگزین. تنها بخش OID استفاده می‌شود. .It Fl data Ar file_to_hash فایل داده‌ای که درخواست برچسب زمانی باید برای آن ایجاد شود. پیش‌فرض ورودی استاندارد است. .It Fl digest Ar digest_bytes تعیین صریح اثر پیام (imprint) بدون فایل داده. اثر پیام باید در قالب هگزادسیمال، دو کاراکتر برای هر بایت، با امکان جداسازی بایت‌ها با دونقطه مشخص شود. تعداد بایت‌ها باید با الگوریتم خلاصه پیام مورد استفاده مطابقت داشته باشد. .It Fl in Ar request.tsq یک درخواست برچسب زمانی که قبلاً در قالب DER ایجاد شده و در فایل خروجی چاپ خواهد شد. برای بررسی محتوای یک درخواست در قالب خوانا برای انسان کاربرد دارد. .It Fl md4 | md5 | ripemd160 | sha | sha1 الگوریتم خلاصه پیام برای اعمال بر روی فایل داده. از تمام الگوریتم‌های خلاصه پیام پشتیبانی‌شده توسط دستور .Nm dgst پشتیبانی می‌کند. پیش‌فرض SHA1 است. .It Fl no_nonce عدم درج نانس (nonce) در درخواست. درج یک نانس شبه‌تصادفی ۶۴ بیتی (پیش‌فرض) برای محافظت در برابر حملات تکرار (replay attacks) توصیه می‌شود. .It Fl out Ar request.tsq فایل خروجی برای نوشتن، یا خروجی استاندارد در صورت عدم تعیین. .It Fl policy Ar object_id خط‌مشی (policy) مورد انتظار کلاینت از TSA برای ایجاد توکن برچسب زمانی. می‌توان از نمادگذاری نقطه‌ای OID یا نام‌های OID تعریف‌شده در فایل پیکربندی استفاده کرد. اگر خط‌مشی درخواست نشود، TSA از خط‌مشی پیش‌فرض خود استفاده می‌کند. .It Fl text خروجی در قالب متنی خوانا به جای DER. .El .Pp یک پاسخ برچسب زمانی (TimeStampResp) شامل وضعیت پاسخ و خود توکن برچسب زمانی (ContentInfo) است، البته اگر تولید توکن موفقیت‌آمیز بوده باشد. دستور .Fl reply برای ایجاد یک پاسخ برچسب زمانی یا توکن برچسب زمانی بر اساس یک درخواست و چاپ پاسخ/توکن در قالب خوانا برای انسان است. اگر .Fl token_out مشخص نشده باشد، خروجی همواره پاسخ برچسب زمانی (TimeStampResp) است، در غیر این صورت یک توکن برچسب زمانی (ContentInfo) خواهد بود. .Bl -tag -width Ds .It Fl chain Ar certs_file.pem مجموعه‌ای از گواهی‌های PEM که در صورت استفاده از گزینه .Fl cert برای درخواست، علاوه بر گواهی امضاکننده در پاسخ درج خواهند شد. این فایل باید شامل زنجیره گواهی برای گواهی امضاکننده از صادرکننده آن به بالا باشد. دستور .Fl reply زنجیره گواهی را به صورت خودکار نمی‌سازد. .It Fl config Ar configfile مشخص کردن فایل پیکربندی جایگزین. .It Fl in Ar response.tsr مشخص کردن پاسخ برچسب زمانی قبلاً ایجادشده (یا توکن برچسب زمانی، اگر .Fl token_in نیز مشخص شده باشد) در قالب DER که در فایل خروجی نوشته خواهد شد. این گزینه نیازی به درخواست ندارد؛ برای نمونه جهت بررسی محتوای یک پاسخ یا توکن یا استخراج توکن برچسب زمانی از یک پاسخ کاربرد دارد. اگر ورودی یک توکن و خروجی یک پاسخ برچسب زمانی باشد، اطلاعات وضعیت پیش‌فرض .Qq اعطاشده (granted) به توکن اضافه می‌شود. .It Fl inkey Ar private.pem کلید خصوصی امضاکننده TSA در قالب PEM. گزینه فایل پیکربندی .Cm signer_key را بازنویسی می‌کند. .It Fl out Ar response.tsr پاسخ در این فایل نوشته می‌شود. قالب و محتوای فایل به سایر گزینه‌ها بستگی دارد (به .Fl text و .Fl token_out مراجعه کنید). حالت پیش‌فرض خروجی استاندارد است. .It Fl passin Ar arg منبع گذرواژه کلید. .It Fl policy Ar object_id خط‌مشی پیش‌فرض مورد استفاده برای پاسخ. می‌توان از نمادگذاری نقطه‌ای OID یا نام‌های OID تعریف‌شده در فایل پیکربندی استفاده کرد. اگر خط‌مشی درخواست نشود، TSA از خط‌مشی پیش‌فرض خود استفاده می‌کند. .It Fl queryfile Ar request.tsq فایل حاوی درخواست برچسب زمانی با کدگذاری DER. .It Fl section Ar tsa_section بخش فایل پیکربندی حاوی تنظیمات مربوط به تولید پاسخ. .It Fl signer Ar tsa_cert.pem گواهی امضاکننده PEM مربوط به TSA. گواهی امضای TSA باید دقیقاً یک کاربرد کلید توسعه‌یافته به آن اختصاص داده شده باشد: timeStamping. همچنین این کاربرد کلید توسعه‌یافته باید حیاتی (critical) باشد، در غیر این صورت گواهی رد خواهد شد. متغیر .Cm signer_cert در فایل پیکربندی را بازنویسی می‌کند. .It Fl text خروجی در قالب متنی خوانا به جای DER. .It Fl token_in ورودی یک توکن برچسب زمانی کدگذاری‌شده با DER (ContentInfo) است به جای پاسخ برچسب زمانی (TimeStampResp). .It Fl token_out خروجی یک توکن برچسب زمانی (ContentInfo) است به جای پاسخ برچسب زمانی (TimeStampResp). .El .Pp دستور .Fl verify برای بررسی و اعتبارسنجی این است که آیا پاسخ یا توکن برچسب زمانی معتبر بوده و با یک درخواست یا فایل داده خاص مطابقت دارد یا خیر. دستور .Fl verify از فایل پیکربندی استفاده نمی‌کند. .Bl -tag -width Ds .It Fl CAfile Ar trusted_certs.pem فایل حاوی مجموعه‌ای از گواهی‌های معتمد خودامضاشده PEM برای CA. برای جزئیات بیشتر به .Nm verify مراجعه کنید. باید یا این گزینه یا .Fl CApath مشخص شوند. .It Fl CApath Ar trusted_cert_path پوشه حاوی گواهی‌های معتمد CA برای کلاینت. برای جزئیات بیشتر به .Nm verify مراجعه کنید. باید یا این گزینه یا .Fl CAfile مشخص شوند. .It Fl data Ar file_to_hash پاسخ یا توکن باید در برابر .Ar file_to_hash اعتبارسنجی شود. فایل با الگوریتم خلاصه پیام مشخص‌شده در توکن هش می‌شود. گزینه‌های .Fl digest و .Fl queryfile نباید همراه با این گزینه مشخص شوند. .It Fl digest Ar digest_bytes پاسخ یا توکن باید در برابر خلاصه پیام مشخص‌شده با این گزینه اعتبارسنجی شود. تعداد بایت‌ها باید با الگوریتم خلاصه پیام مشخص‌شده در توکن مطابقت داشته باشد. گزینه‌های .Fl data و .Fl queryfile نباید همراه با این گزینه مشخص شوند. .It Fl in Ar response.tsr پاسخ برچسب زمانی که باید اعتبارسنجی شود، در قالب DER. این گزینه اجباری است. .It Fl queryfile Ar request.tsq درخواست اصلی برچسب زمانی در قالب DER. گزینه‌های .Fl data و .Fl digest نباید همراه با این گزینه مشخص شوند. .It Fl token_in ورودی یک توکن برچسب زمانی با کدگذاری DER (ContentInfo) است به جای پاسخ برچسب زمانی (TimeStampResp). .It Fl untrusted Ar cert_file.pem گواهی‌های PEM غیرمعتمد اضافی که ممکن است هنگام ساخت زنجیره گواهی برای گواهی امضای TSA مورد نیاز باشند. این فایل باید شامل گواهی امضای TSA و تمام گواهی‌های میانی CA باشد مگر اینکه پاسخ خود شامل آن‌ها باشد. .El .Pp گزینه‌های مشخص‌شده در خط فرمان همواره تنظیمات موجود در فایل پیکربندی را بازنویسی می‌کنند: .Bl -tag -width Ds .It Cm tsa Ar section , Cm default_tsa این بخش اصلی است و نام بخش دیگری را مشخص می‌کند که شامل تمام گزینه‌های مربوط به گزینه .Fl reply است. این بخش را می‌توان با سوئیچ خط فرمان .Fl section بازنویسی کرد. .It Cm oid_file برای توضیحات به .Nm ca مراجعه کنید. .It Cm oid_section برای توضیحات به .Nm ca مراجعه کنید. .It Cm serial فایل حاوی شماره سریال هگزادسیمال مربوط به آخرین پاسخ برچسب زمانی ایجادشده. این عدد برای هر پاسخ ۱ واحد افزایش می‌یابد. اگر این فایل در زمان تولید پاسخ وجود نداشته باشد، یک فایل جدید با شماره سریال ۱ ایجاد می‌شود. این پارامتر اجباری است. .It Cm signer_cert گواهی امضای TSA در قالب PEM. مشابه گزینه خط فرمان .Fl signer . .It Cm certs مجموعه‌ای از گواهی‌های کدگذاری‌شده با PEM که باید در پاسخ گنجانده شوند. مشابه گزینه خط فرمان .Fl chain . .It Cm signer_key کلید خصوصی TSA در قالب PEM. مشابه گزینه خط فرمان .Fl inkey . .It Cm default_policy خط‌مشی پیش‌فرض مورد استفاده زمانی که درخواست هیچ خط‌مشی خاصی را الزامی نکرده باشد. مشابه گزینه خط فرمان .Fl policy . .It Cm other_policies فهرستی جداشده با کاما از خط‌مشی‌هایی که برای TSA نیز قابل قبول هستند و تنها در صورتی استفاده می‌شوند که درخواست صراحتاً یکی از آن‌ها را مشخص کند. .It Cm digests فهرست الگوریتم‌های خلاصه پیام که TSA می‌پذیرد. حداقل یک الگوریتم باید مشخص شود. این پارامتر اجباری است. .It Cm accuracy دقت منبع زمان TSA بر حسب ثانیه، میلی‌ثانیه و میکروثانیه. برای نمونه secs:1, millisecs:500, microsecs:100. اگر هر یک از مولفه‌ها وجود نداشته باشد، مقدار صفر برای آن فیلد در نظر گرفته می‌شود. .It Cm clock_precision_digits حداکثر تعداد ارقام اعشار ثانیه که باید در فیلد زمان درج شوند. صفرهای پایانی باید از زمان حذف شوند، بنابراین ممکن است در عمل ارقام کمتری وجود داشته باشد یا اصلاً اعشار ثانیه نباشد. حداکثر مقدار ۶ است؛ پیش‌فرض ۰ است. .It Cm ordering اگر این گزینه yes باشد، پاسخ‌های تولیدشده توسط این TSA همیشه قابل مرتب‌سازی هستند، حتی اگر اختلاف زمانی میان دو پاسخ کمتر از مجموع دقت‌های آن‌ها باشد. پیش‌فرض no است. .It Cm tsa_name اگر نام موضوع TSA باید در فیلد نام TSA در پاسخ درج شود، این گزینه را بر روی yes تنظیم کنید. پیش‌فرض no است. .It Cm ess_cert_id_chain اشیاء SignedData ایجادشده توسط TSA همیشه شامل شناسه گواهیِ گواهی امضاکننده در یک ویژگی امضاشده هستند (RFC 2634 را ببینید). اگر این گزینه بر روی yes تنظیم شده باشد و متغیر .Cm certs یا گزینه .Fl chain مشخص شده باشند، آن‌گاه شناسه‌های گواهی زنجیره نیز در ویژگی امضاشده SigningCertificate درج خواهند شد. اگر این متغیر بر روی no تنظیم شده باشد، تنها شناسه گواهی امضاکننده درج می‌شود. پیش‌فرض no است. .El .Tg verify .Sh VERIFY .Bl -hang -width "openssl verify" .It Nm openssl verify .Bk -words .Op Fl CAfile Ar file .Op Fl CApath Ar directory .Op Fl check_ss_sig .Op Fl CRLfile Ar file .Op Fl crl_check .Op Fl crl_check_all .Op Fl explicit_policy .Op Fl extended_crl .Op Fl help .Op Fl ignore_critical .Op Fl inhibit_any .Op Fl inhibit_map .Op Fl issuer_checks .Op Fl legacy_verify .Op Fl policy_check .Op Fl purpose Ar purpose .Op Fl trusted Ar file .Op Fl untrusted Ar file .Op Fl verbose .Op Fl x509_strict .Op Ar certificates .Ek .El .Pp دستور .Nm verify زنجیره‌های گواهی را اعتبارسنجی می‌کند. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl CAfile Ar file یک .Ar file از گواهی‌های معتمد. این .Ar file باید شامل چندین گواهی در قالب PEM باشد که به یکدیگر الحاق شده‌اند. .It Fl CApath Ar directory یک .Ar directory از گواهی‌های معتمد. گواهی‌ها یا پیوندهای نمادین به آن‌ها باید نام‌هایی به فرم .Ar hash Ns .0 داشته باشند، که در آن .Ar hash نام موضوع هش‌شده گواهی است (گزینه .Fl hash از ابزار .Nm x509 را ببینید). .It Fl check_ss_sig اعتبارسنجی امضا روی CA ریشه خودامضاشده. این گزینه به طور پیش‌فرض غیرفعال است زیرا امنیت بیشتری ایجاد نمی‌کند. .It Fl CRLfile Ar file فایل .Ar file باید شامل یک یا چند CRL در قالب PEM باشد. .It Fl crl_check بررسی اعتبار گواهی موجودیت نهایی با تلاش برای جستجوی یک CRL معتبر. اگر CRL معتبری یافت نشود، خطایی رخ می‌دهد. .It Fl crl_check_all بررسی اعتبار تمام گواهی‌های موجود در زنجیره با تلاش برای یافتن CRLهای معتبر. .It Fl explicit_policy تنظیم متغیر خط‌مشی require-explicit-policy (طبق RFC 3280). .It Fl extended_crl فعال‌سازی ویژگی‌های توسعه‌یافته CRL مانند CRLهای غیرمستقیم و کلیدهای امضای جایگزین CRL. .It Fl help چاپ پیام نحوه استفاده. .It Fl ignore_critical نادیده گرفتن افزونه‌های حیاتی به جای رد کردن گواهی. .It Fl inhibit_any تنظیم متغیر خط‌مشی inhibit-any-policy (طبق RFC 3280). .It Fl inhibit_map تنظیم متغیر خط‌مشی inhibit-policy-mapping (طبق RFC 3280). .It Fl issuer_checks چاپ اطلاعات تشخیصی مربوط به جستجوهای گواهی صادرکننده برای گواهی جاری که نشان می‌دهد چرا هر گواهی صادرکننده نامزد رد شده است. وجود پیام‌های رد شدن لزوماً به این معنا نیست که مشکلی وجود دارد: در طول فرآیند عادی اعتبارسنجی ممکن است چندین مورد رد شدن رخ دهد. .It Fl legacy_verify استفاده از کد موروثی اعتبارسنجی زنجیره گواهی X.509. .It Fl policy_check فعال‌سازی پردازش خط‌مشی گواهی. .It Fl purpose Ar purpose کاربرد مورد نظر برای گواهی. بدون این گزینه هیچ اعتبارسنجی زنجیره‌ای انجام نخواهد شد. کاربردهای پذیرفته‌شده فعلی عبارتند از: .Cm sslclient ، sslserver ، .Cm nssslserver ، smimesign ، .Cm smimeencrypt ، crlsign ، .Cm any و .Cm ocsphelper . .It Fl trusted Ar file یک .Ar file از گواهی‌های معتمد. این .Ar file باید شامل چندین گواهی باشد. .It Fl untrusted Ar file یک .Ar file از گواهی‌های غیرمعتمد. این .Ar file باید شامل چندین گواهی باشد. .It Fl verbose چاپ اطلاعات بیشتر درباره عملیات در حال انجام. .It Fl x509_strict غیرفعال کردن راهکارهای ترمیمی برای گواهی‌های خراب که جهت تطابق سخت‌گیرانه با X.509 باید غیرفعال شوند. .It Ar certificates یک یا چند .Ar certificates در قالب PEM برای اعتبارسنجی. اگر هیچ فایل گواهی‌ای درج نشود، تلاشی برای خواندن یک گواهی از ورودی استاندارد انجام می‌شود. اگر نام فایل اولین گواهی با خط تیره آغاز شود، از یک خط تیره تنها برای نشانه‌گذاری آخرین گزینه استفاده کنید. .El .Pp برنامه .Nm verify از همان توابعی استفاده می‌کند که در اعتبارسنجی داخلی SSL و S/MIME به کار می‌روند، با یک تفاوت اساسی: تا جای ممکن تلاشی برای ادامه کار پس از وقوع خطا انجام می‌شود، در حالی که معمولاً عملیات اعتبارسنجی با اولین خطا متوقف می‌شود. این کار اجازه می‌دهد تا تمام مشکلات یک زنجیره گواهی مشخص و شناسایی شوند. .Pp عملیات اعتبارسنجی شامل چندین مرحله جداگانه است. ابتدا یک زنجیره گواهی از گواهی ارائه‌شده آغاز شده و به CA ریشه ختم می‌شود. اگر نتوان کل زنجیره را ساخت، یک خطا رخ داده است. زنجیره با جستجوی گواهی صادرکننده برای گواهی جاری ساخته می‌شود. اگر گواهی‌ای پیدا شود که صادرکننده خودش باشد، فرض می‌شود که CA ریشه است. .Pp تمام گواهی‌هایی که نام موضوع آن‌ها با نام صادرکننده گواهی جاری مطابقت دارد، تحت آزمون‌های بعدی قرار می‌گیرند. مولفه‌های مربوط به شناسه کلید مرجع (authority key identifier) در گواهی جاری (در صورت وجود) باید با شناسه کلید موضوع (در صورت وجود) و صادرکننده و شماره سریال صادرکننده نامزد مطابقت داشته باشند؛ علاوه بر این، افزونه .Cm keyUsage در صادرکننده نامزد (در صورت وجود) باید اجازه امضای گواهی را بدهد. .Pp جستجو ابتدا در فهرست گواهی‌های غیرمعتمد انجام می‌شود و اگر تطابقی یافت نشود، سایر جستجوها از میان گواهی‌های معتمد صورت می‌گیرد. مرجع صدور گواهی ریشه (Root CA) همواره در فهرست گواهی‌های معتمد جستجو می‌شود: اگر گواهی مورد اعتبارسنجی یک گواهی ریشه باشد، باید یک تطابق دقیق در فهرست معتمد پیدا شود. .Pp عملیات دوم بررسی افزونه‌های تمام گواهی‌های غیرمعتمد از نظر سازگاری با کاربرد ارائه‌شده است. اگر گزینه .Fl purpose درج نشده باشد، هیچ بررسی‌ای انجام نمی‌شود. گواهی ارائه‌شده یا .Qq برگ (leaf) باید افزونه‌هایی سازگار با کاربرد ارائه‌شده داشته باشد و سایر گواهی‌ها نیز باید گواهی‌های معتبر CA باشند. افزونه‌های دقیق مورد نیاز با جزئیات بیشتر در بخش .Nm X509 در ادامه شرح داده شده‌اند. .Pp عملیات سوم بررسی تنظیمات اعتماد روی CA ریشه است. CA ریشه باید برای کاربرد ارائه‌شده معتمد باشد. گواهی بدون تنظیمات اعتماد برای همه کاربردها معتبر در نظر گرفته می‌شود. .Pp عملیات نهایی بررسی اعتبار زمانی زنجیره گواهی است. دوره اعتبار در برابر زمان جاری سیستم و تاریخ‌های .Cm notBefore و .Cm notAfter در گواهی بررسی می‌شود. امضاهای گواهی نیز در این مرحله بررسی می‌شوند. .Pp اگر تمام عملیات با موفقیت انجام شوند، گواهی معتبر شناخته می‌شود. اگر هر یک از عملیات شکست بخورد، گواهی معتبر نخواهد بود. هنگامی که عملیات اعتبارسنجی شکست می‌خورد، پیام‌های خروجی ممکن است تا حدی مبهم باشند. فرم کلی پیام خطا به صورت زیر است: .Bd -literal server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024-bit) error 24 at 1 depth lookup:invalid CA certificate .Ed .Pp سطر اول شامل نام گواهی در حال اعتبارسنجی و به دنبال آن نام موضوع گواهی است. سطر دوم شامل شماره خطا همان‌طور که توسط ثابت‌های .Dv X509_V_ERR_* در فایل .In openssl/x509_vfy.h تعریف شده است، پیام خطای مرتبط مستندشده در .Xr X509_STORE_CTX_get_error 3 و عمق خطا می‌باشد. عمق (depth)، شماره گواهی در حال اعتبارسنجی هنگام شناسایی مشکل است که با صفر برای خود گواهی تحت اعتبارسنجی آغاز شده، سپس ۱ برای CA امضاکننده گواهی و به همین ترتیب ادامه می‌یابد. .Tg version .Sh "نسخه (VERSION)" .Nm openssl version .Op Fl abdfpv .Pp دستور .Nm version برای چاپ اطلاعات نسخه درباره .Nm openssl استفاده می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width Ds .It Fl a تمامی اطلاعات: این گزینه معادل تنظیم تمام فلگ‌های دیگر است. .It Fl b تاریخی که نسخه جاری .Nm openssl ساخته شده است. .It Fl d تنظیم متغیر .Ev OPENSSLDIR . .It Fl f فلگ‌های کامپایل. .It Fl p تنظیم پلتفرم. .It Fl v نسخه جاری .Nm openssl . .El .Tg x509 .Sh X509 .Bl -hang -width "openssl x509" .It Nm openssl x509 .Bk -words .Op Fl addreject Ar arg .Op Fl addtrust Ar arg .Op Fl alias .Op Fl CA Ar file .Op Fl CAcreateserial .Op Fl CAform Cm der | pem .Op Fl CAkey Ar file .Op Fl CAkeyform Cm der | pem .Op Fl CAserial Ar file .Op Fl certopt Ar option .Op Fl checkend Ar arg .Op Fl clrext .Op Fl clrreject .Op Fl clrtrust .Op Fl dates .Op Fl days Ar arg .Op Fl email .Op Fl enddate .Op Fl extensions Ar section .Op Fl extfile Ar file .Op Fl fingerprint .Op Fl force_pubkey Ar key .Op Fl hash .Op Fl in Ar file .Op Fl inform Cm der | net | pem .Op Fl issuer .Op Fl issuer_hash .Op Fl issuer_hash_old .Op Fl keyform Cm der | pem .Op Fl md5 | sha1 .Op Fl modulus .Op Fl multivalue-rdn .Op Fl nameopt Ar option .Op Fl new .Op Fl next_serial .Op Fl noout .Op Fl ocsp_uri .Op Fl ocspid .Op Fl out Ar file .Op Fl outform Cm der | net | pem .Op Fl passin Ar arg .Op Fl pubkey .Op Fl purpose .Op Fl req .Op Fl serial .Op Fl set_issuer Ar name .Op Fl set_serial Ar n .Op Fl set_subject Ar name .Op Fl setalias Ar arg .Op Fl signkey Ar file .Op Fl sigopt Ar nm:v .Op Fl startdate .Op Fl subject .Op Fl subject_hash .Op Fl subject_hash_old .Op Fl text .Op Fl trustout .Op Fl utf8 .Op Fl x509toreq .Ek .El .Pp دستور .Nm x509 یک ابزار همه‌منظوره برای کار با گواهی‌ها است. می‌توان از آن برای نمایش اطلاعات گواهی، تبدیل گواهی‌ها به قالب‌های مختلف، امضای درخواست‌های گواهی به عنوان یک .Qq CA کوچک یا ویرایش تنظیمات اعتماد گواهی استفاده کرد. .Pp موارد زیر گزینه‌های ورودی، خروجی و عمومی x509 هستند: .Bl -tag -width "XXXX" .It Fl in Ar file فایل ورودی برای خواندن، یا ورودی استاندارد در صورت مشخص نشدن. این گزینه نمی‌تواند همراه با .Fl new استفاده شود. .It Fl inform Cm der | net | pem قالب ورودی. به طور معمول، دستور انتظار یک گواهی X.509 را دارد، اما اگر گزینه‌های دیگری مانند .Fl in یا .Fl req حاضر باشند، ممکن است این حالت تغییر کند. .It Fl md5 | sha1 خلاصه پیام مورد استفاده. این بر روی هر گزینه امضا یا نمایشی که از یک خلاصه پیام استفاده می‌کند اثر می‌گذارد، مانند گزینه‌های .Fl fingerprint ، signkey و .Fl CA . در صورت مشخص نشدن، از MD5 استفاده می‌شود. برای کلیدهای DSA همیشه از SHA1 استفاده می‌شود. .It Fl out Ar file فایل خروجی برای نوشتن، یا خروجی استاندارد در صورتی که فایلی مشخص نشود. .It Fl outform Cm der | net | pem قالب خروجی. .It Fl passin Ar arg منبع گذرواژه کلید. .El .Pp موارد زیر گزینه‌های نمایش x509 هستند: .Bl -tag -width "XXXX" .It Fl certopt Ar option سفارشی‌سازی قالب خروجی مورد استفاده با .Fl text ، خواه با استفاده از فهرستی از گزینه‌های جداشده با کاما یا با مشخص کردن چندباره .Fl certopt . رفتار پیش‌فرض چاپ تمامی فیلدها است. گزینه‌ها به شرح زیر هستند: .Pp .Bl -tag -width "no_extensions" -offset indent -compact .It Cm ca_default معادل .Cm no_issuer ، no_pubkey ، no_header ، .Cm no_version ، no_sigdump و .Cm no_signame . .It Cm compatible معادل عدم استفاده از هیچ گزینه خروجی. .It Cm ext_default چاپ افزونه‌های پشتیبانی‌نشده گواهی. .It Cm ext_dump دامپ هگزادسیمال افزونه‌های پشتیبانی‌نشده. .It Cm ext_error چاپ پیام خطا برای افزونه‌های پشتیبانی‌نشده گواهی. .It Cm ext_parse تجزیه ASN.1 افزونه‌های پشتیبانی‌نشده. .It Cm no_aux عدم چاپ اطلاعات اعتماد گواهی. .It Cm no_extensions عدم چاپ افزونه‌های X509V3. .It Cm no_header عدم چاپ اطلاعات سرایند (Certificate و Data). .It Cm no_issuer عدم چاپ نام صادرکننده. .It Cm no_pubkey عدم چاپ کلید عمومی. .It Cm no_serial عدم چاپ شماره سریال. .It Cm no_sigdump عدم ارائه دامپ هگزادسیمال از امضای گواهی. .It Cm no_signame عدم چاپ الگوریتم امضای استفاده‌شده. .It Cm no_subject عدم چاپ نام موضوع (subject). .It Cm no_validity عدم چاپ فیلدهای اعتبار .Cm notBefore و .Cm notAfter . .It Cm no_version عدم چاپ شماره نسخه. .El .It Fl dates چاپ تاریخ شروع و انقضای یک گواهی. .It Fl email خروجی دادن نشانی‌های ایمیل، در صورت وجود. .It Fl enddate چاپ تاریخ انقضای گواهی؛ یعنی تاریخ .Cm notAfter . .It Fl fingerprint چاپ خلاصه (digest) نسخه با کدگذاری DER از کل گواهی. .It Fl hash مترادفی برای .Fl subject_hash . .It Fl issuer چاپ نام صادرکننده (issuer). .It Fl issuer_hash چاپ هش نام صادرکننده گواهی. .It Fl issuer_hash_old چاپ هش نام صادرکننده گواهی با استفاده از الگوریتم قدیمی‌تر که توسط نسخه‌های .Nm openssl پیش از 1.0.0 استفاده می‌شد. .It Fl modulus چاپ مقدار مدول (modulus) کلید عمومی موجود در گواهی. .It Fl multivalue-rdn این گزینه موجب می‌شود آرگومان .Fl subj با پشتیبانی کامل از RDNهای چندمقداری تفسیر شود، به عنوان مثال .Qq "/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe" . اگر .Fl multivalue-rdn استفاده نشود، مقدار UID روی .Qq "123456+CN=John Doe" تنظیم می‌شود. .It Fl nameopt Ar option سفارشی‌سازی نحوه نمایش نام‌های موضوع یا صادرکننده، خواه با استفاده از فهرستی از گزینه‌های جداشده با کاما یا با مشخص کردن چندباره .Fl nameopt . رفتار پیش‌فرض استفاده از قالب .Cm compat است. گزینه‌ها که می‌توان قبل از آن‌ها خط تیره قرار داد تا غیرفعال شوند، به شرح زیر هستند: .Bl -tag -width "XXXX" .It Cm align تراز کردن مقادیر فیلدها برای خروجی خواناتر. فقط همراه با .Ar sep_multiline قابل استفاده است. .It Cm compat استفاده از قالب قدیمی، معادل مشخص نکردن هیچ گزینه‌ای. .It Cm dn_rev معکوس کردن فیلدهای DN، طبق الزامات RFC 2253. به عنوان یک اثر جانبی، ترتیب چندین AVA را نیز معکوس می‌کند. .It Cm dump_all دامپ تمام فیلدها. هنگام استفاده با .Ar dump_der ، امکان تعیین بدون ابهام کدگذاری DER ساختار را فراهم می‌کند. .It Cm dump_der هر فیلدی که نیاز به دامپ هگزادسیمال داشته باشد با استفاده از کدگذاری DER فیلد دامپ می‌شود. در غیر این صورت تنها بایت‌های محتوا نمایش داده خواهند شد. هر دو گزینه از قالب RFC 2253 #XXXX... استفاده می‌کنند. .It Cm dump_nostr دامپ انواع رشته غیر نویسه‌ای (به عنوان مثال OCTET STRING)؛ معمولاً انواع رشته‌های غیر نویسه‌ای به گونه‌ای نمایش داده می‌شوند که گویی هر بایت محتوا نشان‌دهنده یک نویسه منفرد است. .It Cm dump_unknown دامپ هر فیلدی که OID آن توسط .Nm openssl شناخته شده نیست. .It Cm esc_2253 اسکیپ کردن نویسه‌های .Qq ویژه مورد نیاز RFC 2253 در یک فیلد، یعنی .Dq \& ,+"<>; . علاوه بر این، .Sq # در ابتدای رشته و نویسه فاصله در ابتدا یا انتهای یک رشته اسکیپ می‌شوند. .It Cm esc_ctrl اسکیپ کردن نویسه‌های کنترلی؛ یعنی نویسه‌هایی با مقادیر اسکی کمتر از 0x20 (فاصله) و نویسه حذف (0x7f). آن‌ها با استفاده از نمادگذاری RFC 2253 \eXX اسکیپ می‌شوند (که در آن XX دو رقم هگزادسیمال نشان‌دهنده مقدار نویسه هستند). .It Cm esc_msb اسکیپ کردن نویسه‌هایی با بیت پرارزش (MSB) تنظیم‌شده؛ یعنی با مقادیر اسکی بزرگتر از ۱۲۷. .It Cm multiline قالب چندخطی. معادل .Cm esc_ctrl ، esc_msb ، sep_multiline ، .Cm space_eq ، lname و .Cm align . .It Cm no_type تلاش نکردن برای تفسیر نویسه‌های چندبایتی. به این معنی که بایت‌های محتوا صرفاً طوری دامپ می‌شوند که انگار یک بایت نمایانگر یک نویسه است. این گزینه برای اهداف عیب‌یابی مفید است اما منجر به خروجی نسبتاً عجیبی می‌شود. .It Cm nofname , sname , lname , oid تغییر نحوه نمایش نام فیلد: .Cm nofname فیلد را اصلاً نمایش نمی‌دهد؛ .Cm sname از شکل نام کوتاه استفاده می‌کند (برای مثال CN برای .Cm commonName )؛ .Cm lname از شکل طولانی استفاده می‌کند. .Cm oid شناسه OID را به شکل عددی نشان می‌دهد و برای اهداف تشخیصی مفید است. .It Cm oneline قالب تک‌خطی که خواناتر از .Cm RFC2253 است. معادل .Cm esc_2253 ، esc_ctrl ، esc_msb ، utf8 ، .Cm dump_nostr ، dump_der ، use_quote ، sep_comma_plus_space ، .Cm space_eq و .Cm sname . .It Cm RFC2253 نمایش نام‌ها سازگار با RFC 2253. معادل .Cm esc_2253 ، esc_ctrl ، .Cm esc_msb ، utf8 ، dump_nostr ، dump_unknown ، .Cm dump_der ، sep_comma_plus ، dn_rev و .Cm sname . .It Cm sep_comma_plus , sep_comma_plus_space , sep_semi_plus_space , sep_multiline تعیین جداکننده‌های فیلد: نویسه اول میان RDNها و دومی میان چندین AVA است (استفاده از چندین AVA بسیار نادر بوده و توصیه نمی‌شود). گزینه‌هایی که به .Qq space ختم می‌شوند، علاوه بر این یک فاصله پس از جداکننده قرار می‌دهند تا خواناتر شود. .Cm sep_multiline از نویسه خط جدید برای جداکننده RDN و از یک .Sq + به همراه فاصله برای جداکننده AVA استفاده می‌کند، و همچنین فیلدها را چهار نویسه تورفتگی می‌دهد. اگر هیچ جداکننده فیلدی مشخص نشده باشد، .Cm sep_comma_plus_space به عنوان پیش‌فرض استفاده می‌شود. .It Cm show_type نمایش نوع رشته نویسه‌ای ASN.1. نوع قبل از محتوای فیلد قرار می‌گیرد. برای مثال .Qq BMPSTRING: Hello World . .It Cm space_eq قرار دادن فاصله در اطراف نویسه .Sq = که پس از نام فیلد می‌آید. .It Cm use_quote اسکیپ کردن برخی نویسه‌ها با قرار دادن کل رشته در نویسه‌های .Sq \&" . بدون این گزینه، تمام اسکیپ کردن‌ها با نویسه .Sq \e انجام می‌شود. .It Cm utf8 ابتدا تبدیل تمام رشته‌ها به قالب UTF8، طبق الزامات RFC 2253. در ترمینال‌های سازگار با UTF8، استفاده از این گزینه (و تنظیم نکردن .Cm esc_msb ) ممکن است منجر به نمایش صحیح نویسه‌های چندبایتی شود. معمولاً نویسه‌های چندبایتی بزرگتر از 0xff با استفاده از قالب \eUXXXX برای ۱۶ بیتی و \eWXXXXXXXX برای ۳۲ بیتی نشان داده می‌شوند، و هر رشته UTF8String ابتدا به شکل نویسه‌ای خود تبدیل می‌شود. .El .It Fl next_serial چاپ شماره سریال بعدی. .It Fl noout خروجی ندادن نسخه کدگذاری‌شده درخواست. .It Fl ocsp_uri چاپ نشانی‌های پاسخ‌دهنده OCSP، در صورت وجود. .It Fl ocspid چاپ مقادیر هش OCSP برای نام موضوع و کلید عمومی. .It Fl pubkey چاپ کلید عمومی. .It Fl serial چاپ شماره سریال گواهی. .It Fl sigopt Ar nm:v ارسال گزینه‌ها به الگوریتم امضا در حین عملیات امضا یا صدور گواهی. نام‌ها و مقادیر این گزینه‌ها وابسته به الگوریتم هستند. .It Fl startdate چاپ تاریخ شروع گواهی؛ یعنی تاریخ .Cm notBefore . .It Fl subject چاپ نام موضوع (subject). .It Fl subject_hash چاپ هش نام موضوع گواهی. این مقدار در .Nm openssl برای تشکیل یک شاخص استفاده می‌شود تا امکان جستجوی گواهی‌ها در یک پوشه بر اساس نام موضوع فراهم شود. .It Fl subject_hash_old چاپ هش نام موضوع گواهی با استفاده از الگوریتم قدیمی‌تر که توسط نسخه‌های .Nm openssl پیش از 1.0.0 استفاده می‌شد. .It Fl text چاپ کامل گواهی در قالب متنی. .El .Pp یک گواهی مورد اعتماد گواهی‌ای است که چندین بخش اطلاعات اضافی به آن ضمیمه شده است، مانند کاربردهای مجاز و ممنوع گواهی و یک نام مستعار. هنگام اعتبارسنجی یک گواهی، حداقل یک گواهی باید مورد اعتماد باشد. به طور پیش‌فرض، یک گواهی معتمد باید به صورت محلی ذخیره شده و یک مرجع صدور ریشه (root CA) باشد. موارد زیر گزینه‌های تنظیمات اعتماد x509 هستند: .Bl -tag -width "XXXX" .It Fl addreject Ar arg افزودن یک کاربرد ممنوع. همان مقادیر گزینه .Fl addtrust را می‌پذیرد. .It Fl addtrust Ar arg افزودن یک کاربرد گواهی معتمد. هر نام شیئی می‌تواند در اینجا استفاده شود، اما در حال حاضر فقط .Cm clientAuth (کاربرد کلاینت SSL)، .Cm serverAuth (کاربرد سرور SSL) و .Cm emailProtection (ایمیل S/MIME) استفاده می‌شوند. .It Fl alias خروجی دادن نام مستعار گواهی. .It Fl clrreject پاک کردن تمام کاربردهای ممنوع یا ردشده گواهی. .It Fl clrtrust پاک کردن تمام کاربردهای مجاز یا معتمد گواهی. .It Fl purpose انجام آزمون‌ها روی افزونه‌های گواهی. همان کد هنگام اعتبارسنجی گواهی‌های غیرمعتمد در زنجیره‌ها استفاده می‌شود، بنابراین اگر یک زنجیره توسط کد اعتبارسنجی رد شود، این بخش مفید است. .Pp پرچم CA در افزونه .Cm basicConstraints برای تعیین این که آیا گواهی می‌تواند به عنوان یک CA استفاده شود یا خیر به کار می‌رود. اگر پرچم CA برابر با true باشد، یک CA است؛ اگر پرچم CA برابر با false باشد، CA نیست. همه CAها باید پرچم CA را روی true تنظیم کرده باشند. .Pp اگر افزونه .Cm basicConstraints غایب باشد، گواهی یک CA احتمالی در نظر گرفته می‌شود؛ سایر افزونه‌ها با توجه به کاربرد مورد نظر گواهی بررسی می‌شوند. در این حالت یک هشدار داده می‌شود زیرا واقعاً نباید گواهی به عنوان یک CA در نظر گرفته شود. با این حال، برای دور زدن مشکل برخی نرم‌افزارهای معیوب، به آن اجازه داده می‌شود که یک CA باشد. .Pp اگر گواهی یک گواهی V1 باشد (و در نتیجه هیچ افزونه‌ای نداشته باشد) و خودامضا باشد، فرض می‌شود که یک CA است اما باز هم یک هشدار داده می‌شود. این کار برای دور زدن مشکل ریشه‌های Verisign است که گواهی‌های خودامضای V1 هستند. .Pp اگر افزونه .Cm keyUsage حاضر باشد، محدودیت‌های بیشتری بر کاربردهای گواهی اعمال می‌شود. اگر افزونه .Cm keyUsage حاضر باشد، گواهی CA باید بیت .Cm keyCertSign را تنظیم کرده باشد. .Pp افزونه کاربرد کلید گسترش‌یافته (extended key usage) محدودیت‌های بیشتری را بر کاربردهای گواهی اعمال می‌کند. اگر این افزونه وجود داشته باشد، چه بحرانی باشد و چه نباشد، کلید تنها برای اهداف مشخص‌شده قابل استفاده است. .Pp شرح کامل هر آزمون در زیر آورده شده است. توضیحات مربوط به .Cm basicConstraints و .Cm keyUsage و گواهی‌های V1 در بالا برای تمام گواهی‌های CA اعمال می‌شود. .Bl -tag -width "XXXX" .It SSL Client افزونه extended key usage باید غایب باشد یا OID احراز هویت وب کلاینت را در بر گیرد. .Cm keyUsage باید غایب باشد یا باید بیت .Cm digitalSignature آن تنظیم شده باشد. نوع گواهی Netscape باید غایب باشد یا بیت SSL client آن تنظیم شده باشد. .It SSL Client CA افزونه extended key usage باید غایب باشد یا شامل OID احراز هویت وب کلاینت باشد. نوع گواهی Netscape باید غایب باشد یا بیت SSL CA آن تنظیم شده باشد: این مورد به عنوان راهکاری برای زمان غایب بودن افزونه .Cm basicConstraints استفاده می‌شود. .It SSL Server افزونه extended key usage باید غایب باشد یا شامل احراز هویت وب سرور و/یا یکی از OIDهای SGC باشد. .Cm keyUsage باید غایب باشد یا بیت .Cm digitalSignature ، بیت .Cm keyEncipherment یا هر دو بیت آن تنظیم شده باشد. نوع گواهی Netscape باید غایب باشد یا بیت SSL server آن تنظیم شده باشد. .It SSL Server CA افزونه extended key usage باید غایب باشد یا شامل احراز هویت وب سرور و/یا یکی از OIDهای SGC باشد. نوع گواهی Netscape باید غایب باشد یا بیت SSL CA آن باید تنظیم شده باشد: این به عنوان یک راهکار در صورت عدم وجود افزونه .Cm basicConstraints استفاده می‌شود. .It Netscape SSL Server برای اتصال کلاینت‌های Netscape SSL به یک سرور SSL؛ در صورت وجود افزونه .Cm keyUsage ، باید بیت .Cm keyEncipherment آن تنظیم شده باشد. این حالت همیشه معتبر نیست زیرا برخی از مجموعه‌های رمزنگاری از کلید برای امضای دیجیتال استفاده می‌کنند. در غیر این صورت همانند یک سرور معمولی SSL است. .It Common S/MIME Client Tests افزونه extended key usage باید غایب باشد یا شامل OID حفاظت از ایمیل باشد. نوع گواهی Netscape باید غایب باشد یا باید بیت S/MIME آن تنظیم شده باشد. اگر بیت S/MIME در نوع گواهی Netscape تنظیم نشده باشد، بیت SSL client به عنوان جایگزین پذیرفته می‌شود اما یک هشدار نمایش داده می‌شود: این به این دلیل است که برخی از گواهی‌های Verisign بیت S/MIME را تنظیم نمی‌کنند. .It S/MIME Signing علاوه بر آزمون‌های متداول کلاینت S/MIME، در صورت وجود افزونه .Cm keyUsage ، بیت .Cm digitalSignature باید تنظیم شده باشد. .It S/MIME Encryption علاوه بر آزمون‌های متداول S/MIME، در صورت وجود افزونه .Cm keyUsage ، بیت .Cm keyEncipherment باید تنظیم شده باشد. .It S/MIME CA افزونه extended key usage باید غایب باشد یا شامل OID حفاظت از ایمیل باشد. نوع گواهی Netscape باید غایب باشد یا باید بیت S/MIME CA آن تنظیم شده باشد: این مورد به عنوان راهکاری برای مواقع غیبت افزونه .Cm basicConstraints استفاده می‌شود. .It CRL Signing افزونه .Cm keyUsage باید غایب باشد یا بیت امضای CRL آن تنظیم شده باشد. .It CRL Signing CA آزمون‌های معمول CA اعمال می‌شوند، به جز اینکه افزونه .Cm basicConstraints باید حضور داشته باشد. .El .It Fl setalias Ar arg تنظیم نام مستعار گواهی، که امکان ارجاع به گواهی با استفاده از یک نام مستعار مانند .Qq Steve's Certificate را فراهم می‌سازد. .It Fl trustout خروجی دادن یک گواهی معتمد (حالت پیش‌فرض در صورت تغییر هرگونه تنظیمات اعتماد). یک گواهی معمولی یا معتمد می‌تواند به عنوان ورودی داده شود، اما به طور پیش‌فرض یک گواهی معمولی در خروجی داده شده و هرگونه تنظیمات اعتماد کنار گذاشته می‌شود. .El .Pp ابزار .Nm x509 می‌تواند برای امضای گواهی‌ها و درخواست‌ها استفاده شود: بنابراین می‌تواند مانند یک CA کوچک رفتار کند. موارد زیر گزینه‌های امضای x509 هستند: .Bl -tag -width "XXXX" .It Fl CA Ar file گواهی CA برای استفاده در امضا. هنگامی که این گزینه حاضر باشد، .Nm x509 مانند یک CA کوچک رفتار می‌کند. فایل ورودی توسط CA با استفاده از این گزینه امضا می‌شود؛ یعنی نام صادرکننده آن بر روی نام موضوع CA تنظیم شده و با استفاده از کلید خصوصی CA به صورت دیجیتال امضا می‌شود. .Pp این گزینه معمولاً با گزینه .Fl req ترکیب می‌شود. بدون گزینه .Fl req ، ورودی گواهی‌ای است که باید خودامضا باشد. .It Fl CAcreateserial ایجاد فایل شماره سریال CA در صورت عدم وجود آن به جای ایجاد خطا. فایل حاوی شماره سریال .Sq 02 خواهد بود و گواهی در حال امضا شماره سریال .Sq 1 را خواهد داشت. .It Fl CAform Cm der | pem قالب فایل گواهی CA. پیش‌فرض .Cm pem است. .It Fl CAkey Ar file تنظیم کلید خصوصی CA برای امضای یک گواهی با آن. در غیر این صورت فرض می‌شود که کلید خصوصی CA در فایل گواهی CA موجود است. .It Fl CAkeyform Cm der | pem قالب کلید خصوصی CA. پیش‌فرض .Cm pem است. .It Fl CAserial Ar file استفاده از شماره سریال موجود در .Ar file برای امضای یک گواهی. فایل باید شامل یک سطر با تعداد زوجی از ارقام هگزادسیمال با شماره سریال مورد استفاده باشد. پس از هر بار استفاده، شماره سریال افزایش یافته و دوباره در فایل نوشته می‌شود. .Pp نام فایل پیش‌فرض شامل نام پایه فایل گواهی CA با پسوند .Pa .srl است. برای مثال اگر فایل گواهی CA با نام .Pa mycacert.pem باشد، انتظار می‌رود فایلی با نام .Pa mycacert.srl پیدا کند. .It Fl checkend Ar arg بررسی این که آیا گواهی در طول .Ar arg ثانیه آینده منقضی می‌شود یا خیر. در صورت انقضا با مقدار خروجی 1 خارج می‌شود؛ در غیر این صورت با مقدار 0 خارج می‌شود. .It Fl clrext حذف تمام افزونه‌ها از یک گواهی. این گزینه زمانی استفاده می‌شود که یک گواهی از روی گواهی دیگری ایجاد می‌شود (برای مثال با گزینه‌های .Fl signkey یا .Fl CA ). به طور معمول، تمام افزونه‌ها حفظ می‌شوند. .It Fl days Ar arg تعداد روزهایی که گواهی باید معتبر باشد. پیش‌فرض ۳۰ روز است. .It Fl extensions Ar section بخشی که افزونه‌های گواهی از آن اضافه می‌شوند. اگر این گزینه مشخص نشده باشد، افزونه‌ها باید در بخش بدون نام (پیش‌فرض) موجود باشند یا بخش پیش‌فرض باید حاوی متغیری به نام .Qq extensions باشد که شامل نام بخش مورد استفاده است. .It Fl extfile Ar file فایل حاوی افزونه‌های گواهی برای استفاده. در صورت مشخص نشدن، هیچ افزونه‌ای به گواهی اضافه نخواهد شد. .It Fl force_pubkey Ar key تنظیم کلید عمومی گواهی بر روی کلید عمومی موجود در .Ar key . .It Fl keyform Cm der | pem قالب فایل کلید استفاده‌شده در گزینه‌های .Fl force_pubkey و .Fl signkey . .It Fl new تولید یک گواهی جدید با استفاده از موضوع مشخص‌شده توسط .Fl set_subject و امضاشده توسط .Fl signkey . اگر هیچ کلید عمومی با .Fl force_pubkey ارائه نشود، گواهی حاصل خودامضا خواهد بود. این گزینه نمی‌تواند همراه با .Fl in یا .Fl req استفاده شود. .It Fl req انتظار یک درخواست گواهی در ورودی به جای یک گواهی. این گزینه نمی‌تواند همراه با .Fl new استفاده شود. .It Fl set_issuer Ar name نام صادرکننده مورد استفاده. .Ar name باید به قالب /type0=value0/type1=value1/type2=... باشد؛ نویسه‌ها را می‌توان با .Sq \e (بک‌اسلش) اسکیپ کرد؛ هیچ فاصله‌ای نادیده گرفته نمی‌شود. .It Fl set_serial Ar n شماره سریال مورد استفاده. این گزینه را می‌توان همراه با هر یک از گزینه‌های .Fl signkey یا .Fl CA استفاده کرد. اگر همراه با گزینه .Fl CA استفاده شود، فایل شماره سریال (همان‌طور که توسط گزینه‌های .Fl CAserial یا .Fl CAcreateserial مشخص شده) استفاده نخواهد شد. .Pp شماره سریال می‌تواند دهدهی یا هگزادسیمال (در صورت پیشوند داشتن با .Sq 0x ) باشد. شماره سریال‌های منفی نیز می‌توانند مشخص شوند اما استفاده از آن‌ها توصیه نمی‌شود. .It Fl set_subject Ar name نام موضوع مورد استفاده. .Ar name باید به قالب /type0=value0/type1=value1/type2=... باشد؛ نویسه‌ها را می‌توان با .Sq \e (بک‌اسلش) اسکیپ کرد؛ هیچ فاصله‌ای نادیده گرفته نمی‌شود. .It Fl signkey Ar file خودامضا کردن .Ar file با استفاده از کلید خصوصی ارائه‌شده. .Pp اگر فایل ورودی یک گواهی باشد، نام صادرکننده را روی نام موضوع تنظیم می‌کند (یعنی آن را خودامضا می‌کند)، کلید عمومی را به مقدار ارائه‌شده تغییر می‌دهد، و تاریخ‌های شروع و پایان را تغییر می‌دهد. تاریخ شروع روی زمان کنونی تنظیم می‌شود و تاریخ پایان روی مقداری که توسط گزینه .Fl days مشخص شده تنظیم می‌گردد. تمام افزونه‌های گواهی حفظ می‌شوند مگر اینکه گزینه .Fl clrext ارائه شده باشد. .Pp اگر ورودی یک درخواست گواهی باشد، یک گواهی خودامضا با استفاده از کلید خصوصی ارائه‌شده و با استفاده از نام موضوع موجود در درخواست ایجاد می‌شود. .It Fl utf8 تفسیر مقادیر فیلدهای خوانده‌شده از ترمینال یا به‌دست‌آمده از فایل پیکربندی به عنوان رشته‌های UTF-8. به طور پیش‌فرض، آن‌ها به عنوان ASCII تفسیر می‌شوند. .It Fl x509toreq تبدیل یک گواهی به یک درخواست گواهی. گزینه .Fl signkey برای ارسال کلید خصوصی مورد نیاز استفاده می‌شود. .El .Sh "قراردادهای متداول (COMMON NOTATION)" چندین دستور دارای نحو مشترکی هستند، همان‌طور که در ادامه به تفصیل آمده است. .Pp آرگومان‌های گذرواژه، که معمولاً با استفاده از .Fl passin و .Fl passout برای گذرواژه‌های ورودی و خروجی مشخص می‌شوند، امکان دریافت گذرواژه‌ها را از منابع گوناگون فراهم می‌کنند. هر دو گزینه یک آرگومان منفرد می‌پذیرند که در ادامه شرح داده شده است. اگر هیچ آرگومان گذرواژه‌ای داده نشود و به گذرواژه نیاز باشد، از کاربر خواسته می‌شود تا آن را وارد کند: این مقدار معمولاً از ترمینال فعلی و با خاموش بودن بازتاب نویسه‌ها (echo) خوانده می‌شود. .Bl -tag -width "pass:password" -offset indent .It Cm pass : Ns Ar password گذرواژه واقعی .Ar password است. از آنجا که گذرواژه برای سایر ابزارها قابل رویت است، این شکل تنها در جاهایی باید استفاده شود که امنیت اهمیتی ندارد. .It Cm env : Ns Ar var دریافت گذرواژه از متغیر محیطی .Ar var . از آنجا که محیط فرآیندهای دیگر قابل مشاهده است، این گزینه باید با احتیاط استفاده شود. .It Cm file : Ns Ar path سطر اول .Ar path گذرواژه است. اگر همان آرگومان .Ar path به هر دو گزینه .Fl passin و .Fl passout داده شود، سطر اول برای گذرواژه ورودی و سطر بعدی برای گذرواژه خروجی استفاده خواهد شد. .Ar path نیازی نیست که حتماً به یک فایل معمولی اشاره کند: برای مثال می‌تواند به یک دستگاه یا لوله نام‌گذاری‌شده (named pipe) اشاره داشته باشد. .It Cm fd : Ns Ar number خواندن گذرواژه از توصیف‌گر فایل (file descriptor) .Ar number . برای مثال می‌توان از این قابلیت برای ارسال داده از طریق لوله استفاده کرد. .It Cm stdin خواندن گذرواژه از ورودی استاندارد. .El .Pp قالب‌های ورودی/خروجی، که معمولاً با استفاده از .Fl inform و .Fl outform مشخص می‌شوند، نشان‌دهنده قالبی هستند که داده‌ها از آن خوانده یا در آن نوشته می‌شوند. آرگومان نسبت به بزرگی و کوچکی حروف حساس نیست. .Pp .Bl -tag -width Ds -offset indent -compact .It Cm der قواعد کدگذاری متمایز (DER) یک قالب باینری است. .It Cm net قالب قدیمی و ناامن. .It Cm pem پست الکترونیکی بهبودیافته با حریم خصوصی (PEM) با base64 کدگذاری می‌شود. .It Cm pvk قالب کلید خصوصی (Private Key). .It Cm smime یک پیام با قالب SMIME. .It Cm txt متن ساده اسکی (ASCII). .El .Sh "محیط (ENVIRONMENT)" متغیرهای محیطی زیر بر اجرای .Nm openssl اثر می‌گذارند: .Bl -tag -width "/etc/ssl/openssl.cnf" .It Ev OPENSSL_CONF مکان فایل پیکربندی اصلی. .El .Sh "فایل‌ها (FILES)" .Bl -tag -width "/etc/ssl/openssl.cnf" -compact .It Pa /etc/ssl/ پوشه پیکربندی پیش‌فرض برای .Nm openssl . .It Pa /etc/ssl/lib/ استفاده‌نشده. .It Pa /etc/ssl/private/ پوشه کلید خصوصی پیش‌فرض. .It Pa /etc/ssl/openssl.cnf فایل پیکربندی پیش‌فرض برای .Nm openssl . .It Pa /etc/ssl/x509v3.cnf فایل پیکربندی پیش‌فرض برای گواهی‌های .Nm x509 . .El .Sh "همچنین ببینید (SEE ALSO)" .Xr acme-client 1 , .Xr nc 1 , .Xr openssl.cnf 5 , .Xr x509v3.cnf 5 , .Xr ssl 8 , .Xr starttls 8 .Sh "استانداردها (STANDARDS)" .Rs .%A T. Dierks .%A C. Allen .%D January 1999 .%R RFC 2246 .%T The TLS Protocol Version 1.0 .Re .Pp .Rs .%A M. Wahl .%A S. Killie .%A T. Howes .%D December 1997 .%R RFC 2253 .%T Lightweight Directory Access Protocol (v3): UTF-8 String Representation of Distinguished Names .Re .Pp .Rs .%A B. Kaliski .%D March 1998 .%R RFC 2315 .%T PKCS #7: Cryptographic Message Syntax Version 1.5 .Re .Pp .Rs .%A R. Housley .%A W. Ford .%A W. Polk .%A D. Solo .%D January 1999 .%R RFC 2459 .%T Internet X.509 Public Key Infrastructure Certificate and CRL Profile .Re .Pp .Rs .%A M. Myers .%A R. Ankney .%A A. Malpani .%A S. Galperin .%A C. Adams .%D June 1999 .%R RFC 2560 .%T X.509 Internet Public Key Infrastructure Online Certificate Status Protocol \(en OCSP .Re .Pp .Rs .%A R. Housley .%D June 1999 .%R RFC 2630 .%T Cryptographic Message Syntax .Re .Pp .Rs .%A P. Chown .%D June 2002 .%R RFC 3268 .%T Advanced Encryption Standard (AES) Ciphersuites for Transport Layer Security (TLS) .Re