| OPENSSL-S_CLIENT(1ssl) | OpenSSL | OPENSSL-S_CLIENT(1ssl) |
نام (NAME)
openssl-s_client - ابزار کلاینت عمومی SSL/TLS
خلاصه دستور (SYNOPSIS)
openssl s_client [-help] [-ssl_config section] [-connect host:port] [-host hostname] [-port port] [-bind host:port] [-proxy host:port] [-proxy_user userid] [-proxy_pass arg] [-unix path] [-4] [-6] [-quic] [-servername name] [-noservername] [-verify depth] [-verify_return_error] [-verify_quiet] [-verifyCAfile filename] [-verifyCApath dir] [-verifyCAstore uri] [-cert filename] [-certform DER|PEM|P12] [-cert_chain filename] [-build_chain] [-CRL filename] [-CRLform DER|PEM] [-crl_download] [-key filename|uri] [-keyform DER|PEM|P12|ENGINE] [-pass arg] [-chainCAfile filename] [-chainCApath directory] [-chainCAstore uri] [-requestCAfile filename] [-dane_tlsa_domain domain] [-dane_tlsa_rrdata rrdata] [-dane_ee_no_namechecks] [-reconnect] [-showcerts] [-prexit] [-no-interactive] [-debug] [-trace] [-nocommands] [-adv] [-security_debug] [-security_debug_verbose] [-msg] [-timeout] [-mtu size] [-no_ems] [-keymatexport label] [-keymatexportlen len] [-msgfile filename] [-nbio_test] [-state] [-nbio] [-crlf] [-ign_eof] [-no_ign_eof] [-psk_identity identity] [-psk key] [-psk_session file] [-quiet] [-sctp] [-sctp_label_bug] [-fallback_scsv] [-async] [-maxfraglen len] [-max_send_frag] [-split_send_frag] [-max_pipelines] [-read_buf] [-ignore_unexpected_eof] [-no_tx_cert_comp] [-no_rx_cert_comp] [-brief] [-starttls protocol] [-xmpphost hostname] [-name hostname] [-tlsextdebug] [-sess_out filename] [-sess_in filename] [-serverinfo types] [-status] [-ocsp_check_leaf] [-ocsp_check_all] [-alpn protocols] [-nextprotoneg protocols] [-ct] [-noct] [-ctlogfile] [-keylogfile file] [-early_data file] [-enable_pha] [-use_srtp value] [-srpuser value] [-srppass value] [-srp_lateuser] [-srp_moregroups] [-srp_strength number] [-ktls] [-tfo] [-nameopt option] [-no_ssl3] [-no_tls1] [-no_tls1_1] [-no_tls1_2] [-no_tls1_3] [-ssl3] [-tls1] [-tls1_1] [-tls1_2] [-tls1_3] [-dtls] [-dtls1] [-dtls1_2] [-xkey infile] [-xcert file] [-xchain file] [-xchain_build file] [-xcertform DER|PEM]> [-xkeyform DER|PEM]> [-CAfile file] [-no-CAfile] [-CApath dir] [-no-CApath] [-CAstore uri] [-no-CAstore] [-bugs] [-no_comp] [-comp] [-no_ticket] [-serverpref] [-client_renegotiation] [-legacy_renegotiation] [-no_renegotiation] [-no_resumption_on_reneg] [-legacy_server_connect] [-no_legacy_server_connect] [-no_etm] [-allow_no_dhe_kex] [-prefer_no_dhe_kex] [-prioritize_chacha] [-strict] [-sigalgs algs] [-client_sigalgs algs] [-groups groups] [-curves curves] [-named_curve curve] [-cipher ciphers] [-ciphersuites 1.3ciphers] [-min_protocol minprot] [-max_protocol maxprot] [-record_padding padding] [-debug_broken_protocol] [-no_middlebox] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-provparam [name:]key=value] [-propquery propq] [-engine id] [-ssl_client_engine id] [-allow_proxy_certs] [-attime timestamp] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy arg] [-policy_check] [-policy_print] [-purpose purpose] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level num] [-verify_depth num] [-verify_email email] [-verify_hostname hostname] [-verify_ip ip] [-verify_name name] [-x509_strict] [-issuer_checks] [-enable_server_rpk] [-enable_client_rpk] [host:port]
توضیحات (DESCRIPTION)
این دستور یک کلاینت عمومی SSL/TLS را پیادهسازی میکند که با استفاده از SSL/TLS به یک میزبان راه دور متصل میشود. این ابزار، یک ابزار تشخیصی و عیبیابی بسیار مفید برای سرورهای SSL است.
گزینهها (OPTIONS)
علاوه بر گزینههای زیر، این دستور از گزینههای عمومی و مخصوص کلاینت که در بخش "دستورات خط فرمان پشتیبانیشده" صفحه راهنمای SSL_CONF_cmd(3) مستند شدهاند نیز پشتیبانی میکند.
- -help
- چاپ یک پیام راهنمای نحوه استفاده.
- -ssl_config section
- استفاده از بخش مشخصشده در فایل پیکربندی برای پیکربندی شیء SSL_CTX.
- -connect host:port
- این گزینه میزبان و پورت اختیاری را برای برقراری اتصال مشخص میکند. میتوان به جای این گزینه، از آرگومان مکانی اختیاری مقصد برای تعیین میزبان و پورت استفاده کرد. اگر نه این گزینه و نه آرگومان مکانی مقصد مشخص نشده باشند، تلاش میشود به میزبان محلی (localhost) روی پورت ۴۴۳۳ متصل شود. اگر رشته میزبان یک نشانی IPv6 باشد، باید در "[" و "]" قرار گیرد.
- -host hostname
- میزبان برای اتصال؛ به جای آن از -connect استفاده کنید.
- -port port
- اتصال به پورت مشخصشده؛ به جای آن از -connect استفاده کنید.
- -bind host:port
- این گزینه نشانی میزبان و/یا پورت را برای مقیدسازی (bind) به عنوان مبدأ اتصال مشخص میکند. برای سوکتهای دامنه یونیکس، پورت نادیده گرفته شده و از میزبان به عنوان نشانی سوکت مبدأ استفاده میشود. اگر رشته میزبان یک نشانی IPv6 باشد، باید در "[" و "]" قرار گیرد.
- -proxy host:port
- هنگامی که همراه با فلگ -connect استفاده شود، برنامه از میزبان و پورت مشخصشده با این فلگ استفاده کرده و یک دستور HTTP CONNECT برای اتصال به سرور مورد نظر ارسال میکند. اگر رشته میزبان یک نشانی IPv6 باشد، باید در "[" و "]" قرار گیرد.
- -proxy_user userid
- هنگامی که همراه با فلگ -proxy استفاده شود، برنامه تلاش خواهد کرد با استفاده از احراز هویت پایهای (base64) با پروکسی مشخصشده احراز هویت کند. توجه: احراز هویت پایهای ناامن است؛ اطلاعات اعتباری قبل از برقراری هرگونه نشست TLS/SSL در کدگذاری base64 که به سادگی قابل برگشت است به پروکسی ارسال میشود. بنابراین، این اطلاعات اعتباری به راحتی توسط هر کسی که بتواند ترافیک شبکه را شنود یا ردیابی کند قابل بازیابی است. با احتیاط استفاده کنید.
- -proxy_pass arg
- منبع گذرواژه پروکسی، همراه با فلگ -proxy_user استفاده میشود. برای اطلاعات بیشتر درباره قالب arg به openssl-passphrase-options(1) مراجعه کنید.
- -unix path
- اتصال از طریق سوکت دامنه یونیکس مشخصشده.
- -4
- فقط استفاده از IPv4.
- -6
- فقط استفاده از IPv6.
- -quic
- اتصال با استفاده از پروتکل QUIC. در صورت تعیین این گزینه، گزینه -alpn نیز باید ارائه شود.
- -servername name
- تنظیم
افزونه TLS SNI
(نشانگر نام
سرور) در
پیام ClientHello با
مقدار
دادهشده.
اگر -servername
ارائه
نشود،
افزونه TLS SNI در
صورت تطابق
نام
دادهشده
به -connect با
قالب نام DNS،
با آن مقدار
پر میشود.
اگر -connect نیز
ارائه نشده
باشد،
مقدار SNI
برابر با
"localhost" تنظیم
میشود. این
رفتار از
زمان OpenSSL 1.1.1
پیشفرض
است.
اگرچه SNI معمولاً باید یک نام DNS باشد و نه یک نشانی IP، در صورت ارائه -servername همان نام ارسال خواهد شد، صرفنظر از اینکه یک نام DNS باشد یا خیر.
این گزینه نمیتواند همراه با -noservername استفاده شود.
- -noservername
- از ارسال افزونه SNI (نشانگر نام سرور) در پیام ClientHello جلوگیری میکند. نمیتواند همراه با گزینههای -servername یا -dane_tlsa_domain استفاده شود.
- -cert filename
- گواهی
کلاینت
برای
استفاده،
در صورتی که
توسط سرور
درخواست
شده باشد.
پیشفرض
عدم
استفاده از
گواهی است.
زنجیره گواهی کلاینت را میتوان با استفاده از -cert_chain مشخص کرد.
- -certform DER|PEM|P12
- قالب فایل گواهی کلاینت برای استفاده؛ به طور پیشفرض نامشخص است. برای جزئیات به openssl-format-options(1) مراجعه کنید.
- -cert_chain
- یک فایل یا شناسه یکتای منبع (URI) از گواهیهای نامعتمد برای استفاده هنگام تلاش جهت ساخت زنجیره گواهی مرتبط با گواهی مشخصشده از طریق گزینه -cert. ورودی میتواند در قالب PEM ،DER یا PKCS#12 باشد.
- -build_chain
- مشخص میکند که آیا برنامه باید زنجیره گواهی کلاینت را برای ارائه به سرور بسازد یا خیر.
- -CRL filename
- فایل CRL برای استفاده جهت بررسی گواهی سرور.
- -CRLform DER|PEM
- قالب فایل CRL؛ به طور پیشفرض نامشخص است. برای جزئیات به openssl-format-options(1) مراجعه کنید.
- -crl_download
- بارگیری CRL از نقاط توزیع مشخصشده در گواهی. توجه داشته باشید که اگر گزینه -crl_check ارائه نشود، این گزینه نادیده گرفته میشود. همچنین حداکثر اندازه CRL توسط تابع X509_CRL_load_http(3) محدود شده است.
- -key filename|uri
- کلید خصوصی کلاینت برای استفاده. در صورت عدم تعیین، از فایل گواهی برای خواندن کلید نیز استفاده خواهد شد.
- -keyform DER|PEM|P12|ENGINE
- قالب کلید؛ به طور پیشفرض نامشخص است. برای جزئیات به openssl-format-options(1) مراجعه کنید.
- -pass arg
- منبع گذرواژه کلید خصوصی و فایل گواهی. برای اطلاعات بیشتر درباره قالب arg به openssl-passphrase-options(1) مراجعه کنید.
- -verify depth
- عمق
اعتبارسنجی
مورد
استفاده.
این گزینه
حداکثر طول
زنجیره
گواهی سرور
را مشخص
کرده و
اعتبارسنجی
گواهی سرور
را فعال
میکند. مگر
اینکه
گزینه -verify_return_error
داده شده
باشد،
عملیات
اعتبارسنجی
پس از بروز
خطا ادامه
مییابد تا
بتوان تمام
مشکلات
مربوط به
زنجیره
گواهی را
مشاهده کرد.
به عنوان یک
اثر جانبی،
اتصال هرگز
به دلیل
شکست در
اعتبارسنجی
گواهی سرور
ناموفق
نخواهد شد.
به طور پیشفرض، اعتبارسنجی گواهیهای سرور و زنجیره آنها با توجه به هدف سرور (D)TLS ("sslserver") انجام میشود. برای جزئیات به "افزونههای گواهی" در openssl-verification-options(1) مراجعه کنید.
- -verify_return_error
- اعتبارسنجی گواهی سرور را همانند -verify فعال میکند، اما به جای ادامه دادن، خطاهای اعتبارسنجی را بازمیگرداند. این امر معمولاً باعث لغو دستتکانی با یک خطای مهلک میشود.
- -verify_quiet
- محدود کردن خروجی اعتبارسنجی تنها به خطاها.
- -verifyCAfile filename
- یک فایل در قالب PEM حاوی گواهیهای معتمد جهت استفاده برای اعتبارسنجی گواهی سرور.
- -verifyCApath dir
- پوشهای حاوی گواهیهای معتمد جهت استفاده برای اعتبارسنجی گواهی سرور. این پوشه باید در "قالب هش" باشد، برای اطلاعات بیشتر به openssl-verify(1) مراجعه کنید.
- -verifyCAstore uri
- شناسه
یکتای منبع
(URI) یک مخزن
حاوی
گواهیهای
معتمد جهت
استفاده
برای
اعتبارسنجی
گواهی سرور.
هنگامی که هر یک از گزینههای -verifyCAfile، -verifyCApath یا -verifyCAstore مشخص شوند، در یک مخزن اعتبارسنجی مجزا بارگذاری شده (از طریق SSL_CTX_set1_verify_cert_store(3)) و به جای مخزن ساختهشده از -CAfile، -CApath و -CAstore برای اعتبارسنجی گواهی سرور به کار میروند.
- -chainCAfile file
- یک فایل در قالب PEM حاوی گواهیهای معتمد جهت استفاده در زمان تلاش برای ساخت زنجیره گواهی کلاینت.
- -chainCApath directory
- پوشهای حاوی گواهیهای معتمد برای ساخت زنجیره گواهی کلاینت ارائهشده به سرور. این پوشه باید در "قالب هش" باشد، برای اطلاعات بیشتر به openssl-verify(1) مراجعه کنید.
- -chainCAstore uri
- شناسه یکتای منبع (URI) یک مخزن حاوی گواهیهای معتمد برای استفاده در زمان تلاش جهت ساخت زنجیره گواهی کلاینت. این URI میتواند نشاندهنده یک گواهی تکی یا مجموعهای از گواهیها باشد. در مورد URIهای دارای طرحواره "file:"، بسته به اینکه URI به یک پوشه یا یک فایل تکی اشاره داشته باشد، این گزینه مانند -chainCAfile یا -chainCApath عمل میکند. برای اطلاعات بیشتر درباره طرحواره "file:" به ossl_store-file(7) مراجعه کنید.
- -requestCAfile file
- فایلی حاوی فهرستی از گواهیها که نامهای موضوعی (subject names) آنها در افزونه certificate_authorities به سرور ارسال خواهد شد. فقط در TLS 1.3 پشتیبانی میشود.
- -dane_tlsa_domain domain
- احراز هویت
RFC6698/RFC7671 DANE TLSA را
فعال کرده و
دامنه پایه
TLSA را مشخص
میکند که
تبدیل به
راهنمای
پیشفرض SNI و
شناسه مرجع
اصلی برای
بررسی نام
میزبان
میشود. این
گزینه باید
همراه با
حداقل یک
مورد از
گزینه -dane_tlsa_rrdata
در زیر
استفاده
شود.
هنگامی که احراز هویت DANE موفقیتآمیز باشد، خروجی تشخیصی شامل کمترین عمق (نزدیکترین به 0) خواهد بود که در آن یک رکورد TLSA گواهی زنجیره را احراز هویت کرده است. هنگامی که آن رکورد TLSA یک کلید عمومی لنگر اعتماد (trust anchor) "2 1 0" باشد که بالاترین گواهی زنجیره را امضا کرده است (به جای مطابقت با آن)، نتیجه به صورت "TA public key verified" گزارش میشود. در غیر این صورت، رکورد TLSA یا با "matched TA certificate" در یک عمق مثبت مطابقت دارد یا با "matched EE certificate" در عمق 0.
- -dane_tlsa_rrdata rrdata
- یک یا چند
بار برای
تعیین
فیلدهای RRDATA
در مجموعه
رکوردهای DANE TLSA
مرتبط با
سرویس هدف
استفاده
میشود.
مقدار rrdata در
"قالب
نمایشی"
مشخص
میشود،
یعنی چهار
فیلد
جداشده با
فاصله که
کاربرد،
انتخابگر،
نوع تطابق و
دادههای
مرتبط را
مشخص
میکنند؛
که آخرین
فیلد به
صورت
هگزادسیمال
کدگذاری
میشود.
فاصلههای
خالی
اختیاری در
فیلد
دادههای
مرتبط
نادیده
گرفته
میشوند. به
عنوان مثال:
$ openssl s_client -brief -starttls smtp \ -connect smtp.example.com:25 \ -dane_tlsa_domain smtp.example.com \ -dane_tlsa_rrdata "2 1 1 B111DD8A1C2091A89BD4FD60C57F0716CCE50FEEFF8137CDBEE0326E 02CF362B" \ -dane_tlsa_rrdata "2 1 1 60B87575447DCBA2A36B7D11AC09FB24A9DB406FEE12D2CC90180517 616E8A18" ... Verification: OK Verified peername: smtp.example.com DANE TLSA 2 1 1 ...ee12d2cc90180517616e8a18 matched TA certificate at depth 1 ... - -dane_ee_no_namechecks
- این گزینه بررسی نام سرور را هنگام احراز هویت از طریق رکوردهای TLSA در DANE-EE(3) غیرفعال میکند. برای برخی برنامهها، به ویژه مرورگرهای وب، غیرفعال کردن بررسی نام به دلیل حملات "اشتراک کلید ناشناخته" (unknown key share) امن نیست؛ در این حمله یک سرور مخرب میتواند کلاینت را متقاعد کند که اتصال به سرور قربانی، در واقع یک اتصال امن به سرور مخرب است. سرور مخرب سپس ممکن است بتواند محدودیتهای اسکریپتنویسی متقاطع (cross-origin) را نقض کند. بنابراین، بر خلاف متن RFC7671، بررسی نام به طور پیشفرض برای رکوردهای TLSA در DANE-EE(3) فعال است و میتوان آن را در برنامههایی که انجام این کار امن است غیرفعال کرد. به ویژه، کلاینتهای SMTP و XMPP باید این گزینه را تنظیم کنند زیرا رکوردهای SRV و MX از قبل امکان هدایت اتصالات کلاینت به هر سرور دلخواهی را برای دامنه راه دور فراهم میکنند و در هر صورت کلاینتهای SMTP و XMPP اسکریپتهای بارگیریشده از سرورهای راه دور را اجرا نمیکنند.
- -reconnect
- اتصال مجدد ۵ بار به همان سرور با استفاده از همان شناسه نشست (session ID)؛ این گزینه میتواند به عنوان آزمایشی برای بررسی عملکرد صحیح کشسازی نشست به کار رود.
- -showcerts
- فهرست گواهیهای سرور را همانطور که توسط سرور ارسال شده نمایش میدهد: این فهرست فقط شامل گواهیهایی است که سرور ارسال کرده است (به همان ترتیبی که سرور فرستاده است). این فهرست یک زنجیره تاییدشده نیست.
- -prexit
- چاپ اطلاعات نشست در هنگام خروج برنامه. این گزینه همیشه تلاش میکند اطلاعات را حتی در صورت ناموفق بودن اتصال چاپ کند. در حالت عادی، اطلاعات تنها در صورت موفقیتآمیز بودن اتصال چاپ میشود. این گزینه از این جهت مفید است که رمز مورد استفاده ممکن است مجدداً مذاکره شود یا ممکن است اتصال به دلیل نیاز به گواهی کلاینت یا درخواست آن پس از تلاش برای دسترسی به یک URL خاص با شکست مواجه شود. توجه: خروجی تولیدشده توسط این گزینه همیشه دقیق نیست زیرا ممکن است اتصال هرگز برقرار نشده باشد.
- -no-interactive
- از این فلگ میتوان برای اجرای کلاینت در یک حالت غیرتعاملی استفاده کرد.
- -state
- چاپ وضعیتهای نشست SSL.
- -debug
- چاپ اطلاعات اشکالزدایی گسترده شامل دامپ هگزادسیمال تمامی ترافیک.
- -nocommands
- عدم استفاده از حروف دستورات تعاملی.
- -adv
- استفاده از حالت دستورات پیشرفته.
- -security_debug
- فعالسازی پیامهای اشکالزدایی امنیتی.
- -security_debug_verbose
- ارائه خروجی اشکالزدایی امنیتی با جزئیات بیشتر.
- -msg
- نمایش پیامهای پروتکل.
- -timeout
- فعالسازی مهلت زمانی ارسال/دریافت در اتصالات DTLS.
- -mtu size
- تنظیم MTU لایه پیوند داده به اندازه مشخصشده.
- -no_ems
- غیرفعالسازی مذاکره راز اصلی گسترشیافته (Extended master secret).
- -keymatexport label
- صادر کردن مواد کلیدسازی با استفاده از برچسب مشخصشده.
- -keymatexportlen len
- صادر کردن
تعداد بایت
مشخصشده
از مواد
کلیدسازی؛
پیشفرض ۲۰
است.
نمایش تمام پیامهای پروتکل همراه با دامپ هگزادسیمال.
- -trace
- نمایش خروجی ردگیری پرجزئیات پیامهای پروتکل.
- -msgfile filename
- فایلی برای ارسال خروجی -msg یا -trace به آن؛ پیشفرض خروجی استاندارد است.
- -nbio_test
- آزمایش I/O غیرمسدودکننده.
- -nbio
- فعالسازی I/O غیرمسدودکننده.
- -crlf
- این گزینه کاراکتر خط جدید از ترمینال را به CR+LF تبدیل میکند که برای برخی سرورها الزامی است.
- -ign_eof
- جلوگیری از قطع اتصال هنگام رسیدن به انتهای فایل (EOF) در ورودی. این گزینه به طور ضمنی -nocommands را نیز فعال میکند.
- -quiet
- جلوگیری از چاپ اطلاعات نشست و گواهی. این گزینه به طور ضمنی گزینههای -ign_eof و -nocommands را نیز فعال میکند.
- -no_ign_eof
- قطع اتصال هنگام رسیدن به انتهای فایل در ورودی. میتواند برای لغو اثر ضمنی -ign_eof پس از -quiet استفاده شود.
- -psk_identity identity
- استفاده از شناسه PSK با مقدار identity هنگام استفاده از یک مجموعه رمز PSK. مقدار پیشفرض "Client_identity" (بدون نقل قول) است.
- -psk key
- استفاده از کلید PSK با مقدار key هنگام استفاده از مجموعه رمز PSK. کلید به صورت یک عدد هگزادسیمال بدون پیشوند 0x ارائه میشود، به عنوان مثال -psk 1a2b3c4d. برای استفاده از یک رمز PSK، ارائه این گزینه الزامی است.
- -psk_session file
- استفاده از دادههای SSL_SESSION با کدگذاری PEM ذخیرهشده در file به عنوان پایه یک PSK. توجه داشته باشید که این ویژگی فقط در صورت مذاکره TLSv1.3 عمل خواهد کرد.
- -sctp
- استفاده از پروتکل انتقال SCTP به جای UDP در DTLS. باید همراه با گزینههای -dtls، -dtls1 یا -dtls1_2 استفاده شود. این گزینه تنها در صورتی در دسترس است که پشتیبانی از SCTP در OpenSSL فعال شده باشد.
- -sctp_label_bug
- استفاده از رفتار نادرست پیادهسازیهای قدیمیتر OpenSSL هنگام محاسبه اسرار مشترک جفتنقطه پایانی برای DTLS/SCTP. این گزینه امکان برقراری ارتباط با پیادهسازیهای قدیمی دارای اشکال را فراهم میکند، اما سازگاری با پیادهسازیهای صحیح را برهم میزند. باید همراه با -sctp استفاده شود. این گزینه فقط در صورتی در دسترس است که پشتیبانی از SCTP در OpenSSL فعال شده باشد.
- -fallback_scsv
- ارسال TLS_FALLBACK_SCSV در پیام ClientHello.
- -async
- فعالسازی حالت ناهمگام. عملیات رمزنگاری به صورت ناهمگام انجام خواهد شد. این حالت تنها زمانی اثرگذار خواهد بود که یک موتور با قابلیت ناهمگام از طریق گزینه -engine نیز استفاده شده باشد. برای اهداف آزمایشی، میتوان از موتور آزمایشی ناهمگام (dasync) در صورت وجود استفاده کرد.
- -maxfraglen len
- فعالسازی مذاکره حداکثر طول قطعه؛ مقادیر مجاز عبارتند از 512، 1024، 2048 و 4096.
- -max_send_frag int
- حداکثر اندازه قطعه داده برای ارسال. برای اطلاعات بیشتر به SSL_CTX_set_max_send_fragment(3) مراجعه کنید.
- -split_send_frag int
- اندازه مورد استفاده برای تقسیم دادهها در خطوط لوله رمزگذاری. اگر دادههای نوشتهشده در یک مرحله بیش از این مقدار باشد، به چندین خط لوله، تا سقف حداکثر تعداد خطوط لوله تعریفشده توسط max_pipelines تقسیم میشود. این گزینه تنها در صورتی موثر است که یک مجموعه رمز مناسب مذاکره شده باشد، موتوری با پشتیبانی از خط لوله بارگذاری شده باشد و مقدار max_pipelines بزرگتر از ۱ باشد. برای اطلاعات بیشتر به SSL_CTX_set_split_send_fragment(3) مراجعه کنید.
- -max_pipelines int
- حداکثر تعداد خطوط لوله رمزگذاری/رمزگشایی مورد استفاده. این گزینه تنها در صورتی مؤثر خواهد بود که موتوری با قابلیت پشتیبانی از خط لوله (مانند موتور dasync) بارگذاری شده و یک مجموعه رمز مناسب مذاکره شده باشد. مقدار پیشفرض ۱ است. برای اطلاعات بیشتر به SSL_CTX_set_max_pipelines(3) مراجعه کنید.
- -read_buf int
- اندازه پیشفرض بافر خواندن برای استفاده در اتصالات. این گزینه تنها در صورتی موثر خواهد بود که اندازه بافر بزرگتر از اندازهای باشد که در غیر این صورت استفاده میشد و خط لوله در حال استفاده باشد (برای اطلاعات بیشتر به SSL_CTX_set_default_read_buffer_len(3) مراجعه کنید).
- -ignore_unexpected_eof
- برخی از پیادهسازیهای TLS هنگام خاموشسازی و قطع اتصال، هشدار اجباری close_notify را ارسال نمیکنند. اگر برنامه تلاش کند منتظر هشدار close_notify بماند اما طرف مقابل اتصال را بدون ارسال آن ببندد، خطا رخ میدهد. با فعال بودن این گزینه، طرف مقابل نیازی به ارسال هشدار close_notify ندارد و با یک اتصال بستهشده به گونهای رفتار میشود که گویی هشدار close_notify دریافت شده است. برای اطلاعات بیشتر درباره خاتمه دادن به یک اتصال، به SSL_shutdown(3) مراجعه کنید.
- -no_tx_cert_comp
- پشتیبانی از ارسال گواهیهای فشردهشده TLSv1.3 را غیرفعال میکند.
- -no_rx_cert_comp
- پشتیبانی از دریافت گواهیهای فشردهشده TLSv1.3 را غیرفعال میکند.
- -brief
- ارائه یک خلاصه کوتاه از پارامترهای اتصال به جای خروجی پرجزئیات معمول.
- -starttls protocol
- ارسال پیام(های) اختصاصی پروتکل جهت تغییر ارتباط به TLS. protocol یک کلیدواژه برای پروتکل مورد نظر است. در حال حاضر، کلیدواژههای پشتیبانیشده عبارتند از "smtp"، "pop3"، "imap"، "ftp"، "xmpp"، "xmpp-server"، "irc"، "postgres"، "mysql"، "lmtp"، "nntp"، "sieve" و "ldap".
- -xmpphost hostname
- این گزینه،
هنگامی که
همراه با "-starttls
xmpp" یا "-starttls xmpp-server"
استفاده
شود،
میزبان را
برای صفت "to"
در عنصر
استریم
مشخص
میکند. اگر
این گزینه
مشخص نشود،
از میزبانی
که با "-connect"
تعیین شده
است
استفاده
خواهد شد.
این گزینه نام مستعاری برای گزینه -name جهت پروتکلهای "xmpp" و "xmpp-server" است.
- -name hostname
- از این
گزینه برای
مشخص کردن
اطلاعات
نام میزبان
برای
پروتکلهای
مختلف مورد
استفاده
همراه با
گزینه -starttls
استفاده
میشود. در
حال حاضر
تنها
پروتکلهای
"xmpp"، "xmpp-server"، "smtp"
و "lmtp"
میتوانند
از این
گزینه -name
بهره ببرند.
اگر این گزینه همراه با "-starttls xmpp" یا "-starttls xmpp-server" استفاده شود، میزبان را برای صفت "to" در عنصر استریم مشخص میکند. اگر این گزینه مشخص نشود، از میزبان مشخصشده با "-connect" استفاده خواهد شد.
اگر این گزینه همراه با "-starttls lmtp" یا "-starttls smtp" به کار رود، به ترتیب نام مورد استفاده در پیام "LMTP LHLO" یا "SMTP EHLO" را مشخص میکند. در صورت عدم تعیین، از "mail.example.com" استفاده خواهد شد.
- -tlsextdebug
- چاپ یک دامپ هگزادسیمال از تمام افزونههای TLS دریافتشده از سرور.
- -sess_out filename
- خروجی دادن نشست SSL به filename.
- -sess_in filename
- بارگذاری نشست SSL از filename. کلاینت تلاش خواهد کرد اتصال را از این نشست از سر گیرد.
- -serverinfo types
- فهرستی از انواع افزونههای TLS جداشده با کاما (اعدادی بین ۰ تا ۶۵۵۳۵). هر نوع به عنوان یک افزونه خالی TLS در ClientHello ارسال خواهد شد. پاسخ سرور (در صورت وجود) کدگذاری شده و به عنوان یک فایل PEM نمایش داده میشود.
- -status
- ارسال درخواست وضعیت گواهی به سرور (OCSP stapling). پاسخ سرور (در صورت وجود) چاپ میشود.
- -ocsp_check_leaf
- الزام به
انجام
بررسی
وضعیت
گواهی سرور
(نهاد
نهایی)، که
در آن
هرگونه
پاسخ OCSP
ارائهشده
در
دستتکانی
TLS (توسط
اصطلاحاً
"OCSP stapling") ابتدا
امتحان
میشود. اگر
پاسخ معتبر
و قطعی OCSP
یافت نشود،
در صورت
فعال بودن
بررسی
مبتنی بر CRL
به عنوان
پشتیبان
امتحان
میشود، در
غیر این
صورت بررسی
وضعیت با
شکست مواجه
میگردد.
این گزینه مستلزم -status است.
- -ocsp_check_all
- مشابه
گزینه قبل،
اما الزام
به انجام
بررسی
وضعیت
گواهی برای
زنجیره
صادرکننده
گواهی سرور
نیز دارد
(یعنی
گواهیهای
میانی CA، به
استثنای
لنگر
اعتماد).
این گزینه مستلزم گزینههای -status و -ocsp_check_leaf است.
- -alpn protocols, -nextprotoneg protocols
- این فلگها به ترتیب افزونههای مذاکره پروتکل لایه کاربرد (ALPN) یا مذاکره پروتکل بعدی (NPN) را فعال میکنند. ALPN استاندارد IETF بوده و جایگزین NPN شده است. فهرست protocols فهرستی از نامهای پروتکل جداشده با کاما است که کلاینت باید پشتیبانی از آنها را اعلام کند. این فهرست باید ابتدا حاوی مطلوبترین پروتکلها باشد. نامهای پروتکل رشتههای اسکی قابل چاپ هستند، به عنوان مثال "http/1.1" یا "spdy/3". اگر از -tls1_3 استفاده شود، فلگ -nextprotoneg نمیتواند مشخص شود.
- -ct, -noct
- از یکی از
این دو
گزینه برای
کنترل فعال
بودن
شفافیت
گواهی (CT) با
(-ct) یا
غیرفعال
بودن آن با
(-noct) استفاده
کنید. اگر CT
فعال باشد،
برچسبهای
زمانی
گواهی
امضاشده
(SCTها) از سرور
درخواست
شده و در
پایان
دستتکانی
گزارش
میشوند.
فعالسازی CT همچنین OCSP stapling را فعال میکند، زیرا این یکی از روشهای تحویل ممکن برای SCTها است.
- -ctlogfile
- فایلی حاوی فهرستی از لاگهای شناختهشده شفافیت گواهی (Certificate Transparency). برای اطلاع از قالب مورد انتظار فایل به SSL_CTX_set_ctlog_list_file(3) مراجعه کنید.
- -keylogfile file
- اسرار TLS را به انتهای فایل لاگ کلید مشخصشده اضافه میکند تا برنامههای خارجی (مانند Wireshark) بتوانند اتصالات TLS را رمزگشایی کنند.
- -early_data file
- محتوای فایل مشخصشده را خوانده و تلاش میکند آن را به عنوان داده اولیه (early data) به سرور ارسال کند. این ویژگی تنها در نشستهای ادامهیافتهای کار میکند که از داده اولیه پشتیبانی کنند و سرور داده اولیه را بپذیرد.
- -enable_pha
- فقط برای TLSv1.3، افزونه احراز هویت پس از دستتکانی (Post-Handshake Authentication) را ارسال میکند. این عمل صرفنظر از اینکه گواهی از طریق -cert ارائه شده باشد یا خیر اتفاق میافتد.
- -use_srtp value
- پیشنهاد مدیریت کلید SRTP، که در آن value یک فهرست از پروفایلهای جداشده با دونقطه است.
- -srpuser value
- تنظیم نام کاربری SRP به مقدار مشخصشده. این گزینه منسوخ شده است.
- -srppass value
- تنظیم گذرواژه SRP به مقدار مشخصشده. این گزینه منسوخ شده است.
- -srp_lateuser
- نام کاربری SRP برای دومین پیام ClientHello. این گزینه منسوخ شده است.
- -srp_moregroups This option is deprecated.
- تحمل مقادیری غیر از مقادیر شناختهشده g و N. این گزینه منسوخ شده است.
- -srp_strength number
- تنظیم حداقل طول قابل قبول (به بیت) برای N. این گزینه منسوخ شده است.
- -ktls
- فعالسازی Kernel TLS برای ارسال و دریافت. این گزینه در OpenSSL 3.2.0 معرفی شد. از زمان OpenSSL 3.2.0، قابلیت Kernel TLS به طور پیشفرض غیرفعال است.
- -tfo
- فعالسازی برقراری اتصالات از طریق TCP fast open (RFC7413).
- -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3, -ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3
- به "گزینههای نسخه TLS" در openssl(1) مراجعه کنید.
- -dtls, -dtls1, -dtls1_2
- این گزینهها استفاده از DTLS را به جای TLS مشخص میکنند. به "گزینههای نسخه TLS" در openssl(1) مراجعه کنید.
- -nameopt option
- مشخص میکند که نامهای موضوع یا صادرکننده چگونه نمایش داده شوند. برای جزئیات به openssl-namedisplay-options(1) مراجعه کنید.
- -xkey infile, -xcert file, -xchain file, -xchain_build file, -xcertform DER|PEM, -xkeyform DER|PEM
- تنظیم گزینههای پیشرفته اعتبارسنجی گواهی. برای جزئیات به "گزینههای اعتبارسنجی پیشرفته" در openssl-verification-options(1) مراجعه کنید.
- -CAfile file, -no-CAfile, -CApath dir, -no-CApath, -CAstore uri, -no-CAstore
- برای جزئیات به "گزینههای گواهی معتمد" در openssl-verification-options(1) مراجعه کنید.
- -bugs, -comp, -no_comp, -no_ticket, -serverpref, -client_renegotiation, -legacy_renegotiation, -no_renegotiation, -no_resumption_on_reneg, -legacy_server_connect, -no_legacy_server_connect, -no_etm -allow_no_dhe_kex, -prefer_no_dhe_kex, -prioritize_chacha, -strict, -sigalgs algs, -client_sigalgs algs, -groups groups, -curves curves, -named_curve curve, -cipher ciphers, -ciphersuites 1.3ciphers, -min_protocol minprot, -max_protocol maxprot, -record_padding padding, -debug_broken_protocol, -no_middlebox
- برای جزئیات به "دستورات خط فرمان پشتیبانیشده" در SSL_CONF_cmd(3) مراجعه کنید.
- -rand files, -writerand file
- برای جزئیات به "گزینههای وضعیت تصادفی" در openssl(1) مراجعه کنید.
- -provider name
- -provider-path path
- -provparam [name:]key=value
- -propquery propq
- به "گزینههای ارائهدهنده" در openssl(1)، provider(7) و property(7) مراجعه کنید.
- -engine id
- به "گزینههای موتور" در openssl(1) مراجعه کنید. این گزینه منسوخ شده است.
- -ssl_client_engine id
- مشخص کردن موتوری که برای عملیات گواهی کلاینت استفاده میشود.
- -allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks
- تنظیم
گزینههای
گوناگون
اعتبارسنجی
زنجیره
گواهی. برای
جزئیات به
"گزینههای
اعتبارسنجی"
در openssl-verification-options(1)
مراجعه
کنید.
خطاهای اعتبارسنجی به منظور اشکالزدایی نمایش داده میشوند، اما اجرای دستور ادامه خواهد یافت مگر اینکه از گزینه -verify_return_error استفاده شده باشد.
- -enable_server_rpk
- فعالسازی پشتیبانی از دریافت کلیدهای عمومی خام (RFC7250) از سرور. استفاده از گواهیهای X.509 توسط سرور اختیاری میشود و سرورهایی که از کلیدهای عمومی خام پشتیبانی میکنند میتوانند آنها را به کار گیرند. سرورهایی که از کلیدهای عمومی خام پشتیبانی نمیکنند یا استفاده از گواهیهای X.509 را ترجیح میدهند، همچنان میتوانند طبق معمول گواهیهای X.509 ارسال کنند.
- -enable_client_rpk
- فعالسازی پشتیبانی از ارسال کلیدهای عمومی خام (RFC7250) به سرور. در صورت درخواست سرور و به شرط پیکربندی یک جفت کلید و گواهی عمومی مناسب، یک کلید عمومی خام توسط کلاینت ارسال خواهد شد. با این وجود، برخی از سرورها ممکن است هیچ اعتبارسنجی کلاینتی را درخواست نکنند، یا ممکن است یک گواهی را تقاضا کنند.
- host:port
- به جای ارائه -connect، میزبان هدف و پورت اختیاری را میتوان به عنوان یک آرگومان مکانی واحد پس از تمام گزینهها ارائه کرد. اگر نه این آرگومان و نه -connect ارائه نشوند، برنامه به تلاش برای اتصال به localhost روی پورت 4433 بازمیگردد. اگر رشته میزبان یک نشانی IPv6 باشد، باید در "[" و "]" قرار گیرد.
دستورات هنگام اتصال (پایه) (CONNECTED COMMANDS (BASIC))
اگر اتصالی با یک سرور SSL/TLS برقرار شود، هر دادهای که از سرور دریافت گردد نمایش داده میشود و هر کلیدی که فشرده شود به سرور فرستاده خواهد شد. در صورت رسیدن به انتهای فایل (EOF)، اتصال بسته خواهد شد.
هنگامی که به صورت تعاملی استفاده شود (به این معنی که نه -quiet و نه -ign_eof داده نشده باشند)، و هیچیک از گزینههای -adv یا -nocommands نیز ارائه نشده باشند، حالت دستورات "پایه" (Basic) فعال میشود. در این حالت برخی دستورات شناسایی میشوند که عملیات خاصی را انجام میدهند. این دستورات یک حرف هستند که باید در ابتدای یک سطر قرار گیرند. تمامی دادههای بعدی پس از حرف ابتدایی در آن سطر نادیده گرفته میشوند. دستورات در زیر فهرست شدهاند:
- Q
- پایان دادن به اتصال جاری SSL و خروج.
- R
- مذاکره مجدد نشست SSL (فقط در TLSv1.2 و نسخههای پایینتر).
- C
- تلاش برای اتصال مجدد به سرور با استفاده از دستتکانی ازسرگیری (resumption handshake).
- k
- ارسال یک پیام بهروزرسانی کلید به سرور (فقط در TLSv1.3).
- K
- ارسال یک پیام بهروزرسانی کلید به سرور و درخواست پیام متقابل از سرور (فقط در TLSv1.3).
دستورات هنگام اتصال (پیشرفته) (CONNECTED COMMANDS (ADVANCED))
اگر گزینه -adv مشخص شده باشد، حالت دستورات "پیشرفته" (advanced) فعال میشود. مانند حالت پایه، اگر اتصالی با یک سرور SSL/TLS برقرار شود، هر دادهای که از سرور دریافت گردد نمایش داده میشود و هر کلیدی که فشرده شود به سرور فرستاده خواهد شد. در صورت رسیدن به انتهای فایل (EOF)، اتصال بسته خواهد شد.
دستورات ویژه را میتوان با محصور کردن آنها در آکاردئون وارد کرد، مانند "{help}" یا "{quit}". این دستورات میتوانند در هر کجای متن واردشده در s_client قرار گیرند، اما به سرور ارسال نمیشوند. برخی دستورات میتوانند با پایان دادن به نام دستور با ":" و سپس ارائه آرگومان، یک آرگومان دریافت کنند، مانند "{keyup:req}". برخی دستورات تنها زمانی در دسترس هستند که نسخههای پروتکل خاصی مذاکره شده باشند.
اگر یک خط جدید در انتهای سطری که در s_client وارد میشود وجود داشته باشد، این خط جدید نیز به سرور ارسال میشود. اگر یک دستور به تنهایی در یک سطر و بدون متن دیگری در همان سطر ظاهر شود، خط جدید حذف شده و به سرور فرستاده نمیشود.
دستورات زیر شناختهشده هستند:
- help
- چاپ متن راهنمای خلاصه درباره دستورات موجود.
- quit
- بستن اتصال به طرف مقابل (peer).
- reconnect
- اتصال مجدد به طرف مقابل و تلاش برای دستتکانی ازسرگیری.
- keyup
- ارسال پیام بهروزرسانی کلید (Key Update). فقط در TLSv1.3. این دستور یک آرگومان اختیاری میپذیرد. اگر آرگومان "req" ارائه شود، از طرف مقابل نیز درخواست میشود کلیدهای خود را بهروزرسانی کند. در غیر این صورت، اگر "noreq" ارائه شود، از طرف مقابل درخواستی برای بهروزرسانی کلیدهایش نخواهد شد. پیشفرض "req" است.
- reneg
- آغاز یک مذاکره مجدد با سرور. فقط در (D)TLSv1.2 یا نسخههای پایینتر.
- fin
- اعلام FIN در استریم جاری. فقط در QUIC. به محض ارسال FIN، هرگونه متن بعدی که برای این استریم وارد شود نادیده گرفته خواهد شد.
نکات (NOTES)
این دستور میتواند برای اشکالزدایی سرورهای SSL استفاده شود. برای اتصال به یک سرور HTTP با SSL معمولاً از دستور زیر استفاده میشود:
openssl s_client -connect servername:443
(پروتکل https از پورت ۴۴۳ استفاده میکند). اگر اتصال موفقیتآمیز باشد، میتوان یک دستور HTTP مانند "GET /" را برای دریافت صفحه وب ارسال کرد.
اگر دستتکانی با شکست مواجه شود، دلایل احتمالی گوناگونی وجود دارد؛ اگر مشکل واضحی مانند عدم وجود گواهی کلاینت نباشد، میتوان گزینههای -bugs، -ssl3، -tls1، -no_ssl3 یا -no_tls1 را امتحان کرد شاید سرور دارای اشکال باشد. به ویژه، شما باید پیش از ارسال گزارش باگ به لیست ایمیل OpenSSL، این گزینهها را بیازمایید.
یک مشکل رایج هنگام تلاش برای به کار انداختن گواهیهای کلاینت این است که کلاینت وب شکایت میکند که هیچ گواهی ندارد یا یک لیست خالی برای انتخاب ارائه میدهد. این موضوع معمولاً به این دلیل است که سرور هنگام درخواست گواهی، مرجع صدور گواهی کلاینت را در "فهرست CA قابل قبول" خود ارسال نمیکند. با استفاده از این دستور میتوان لیست CA را مشاهده و بررسی کرد. با این حال، برخی از سرورها احراز هویت کلاینت را تنها پس از درخواست یک URL مشخص مطالبه میکنند. برای به دست آوردن لیست در این حالت، لازم است از گزینه -prexit استفاده کرده و یک درخواست HTTP برای صفحه مناسب ارسال کنید.
اگر گواهیای با استفاده از گزینه -cert در خط فرمان مشخص شود، استفاده نخواهد شد مگر اینکه سرور مشخصاً درخواست گواهی کلاینت کند. بنابراین، صرفاً قرار دادن یک گواهی کلاینت در خط فرمان هیچ تضمینی برای عملکرد گواهی نیست.
در صورت وجود مشکل در اعتبارسنجی گواهی سرور، میتوان از گزینه -showcerts برای نمایش تمام گواهیهای ارسالشده توسط سرور استفاده کرد.
این دستور یک ابزار آزمایشی است و به گونهای طراحی شده که پس از هرگونه خطای اعتبارسنجی گواهی، به دستتکانی ادامه دهد. در نتیجه، هر زنجیره گواهی (معتمد یا غیرمعتمد) ارسالشده توسط طرف مقابل را میپذیرد. برنامههای غیرآزمایشی نباید این کار را انجام دهند زیرا آنها را در برابر حمله مرد میانی (MITM) آسیبپذیر میکند. این رفتار را میتوان با گزینه -verify_return_error تغییر داد: در این صورت خطاهای اعتبارسنجی بازگردانده شده و دستتکانی لغو میشود.
گزینه -bind ممکن است زمانی مفید باشد که سرور یا یک دیوار آتش نیازمند آن باشد که اتصالات از نشانی و/یا پورت خاصی برقرار شوند.
نکتهای درباره استفاده غیرتعاملی (Note on Non-Interactive Use)
هنگامی که s_client در یک محیط غیرتعاملی (مانند یک وظیفه cron یا اسکریپتی بدون stdin معتبر) اجرا میشود، ممکن است اتصال را زودتر از موعد ببندد، به ویژه در TLS 1.3. برای جلوگیری از این اتفاق، میتوانید از فلگ -ign_eof استفاده کنید که باعث میشود s_client حتی پس از رسیدن به انتهای فایل (EOF) از ورودی stdin به کار خود ادامه دهد.
به عنوان مثال:
openssl s_client -connect <server address>:443 -tls1_3
-sess_out /path/to/tls_session_params_file
-ign_eof </dev/null
با این حال، تکیه صرف به -ign_eof میتواند در صورتی که سرور اتصال را باز نگه دارد و انتظار داشته باشد کلاینت ابتدا آن را ببندد، مشکلساز شود. در چنین مواردی ممکن است کلاینت برای مدت نامحدود معلق (hang) بماند. این رفتار به ویژه در پروتکلهایی که سرور منتظر قطع اتصال منظم از سوی کلاینت میماند، غیرمعمول نیست.
برای نمونه، هنگام اتصال به یک سرور SMTP، اگر سرور پیش از بستن منتظر دستور QUIT باشد، ممکن است نشست متوقف شود:
$ openssl s_client -brief -ign_eof -starttls smtp
-connect <server address>:25 </dev/null
CONNECTION ESTABLISHED
Protocol version: TLSv1.3
Ciphersuite: TLS_AES_256_GCM_SHA384
...
250 CHUNKING
[long pause]
برای جلوگیری از چنین توقفهایی، بهتر است از یک دستور سطح برنامه برای آغاز قطع ارتباط منظم استفاده شود. برای پروتکل SMTP میتوانید دستور QUIT را ارسال کنید:
printf 'QUIT\r\n' | openssl s_client -connect <server address>:25
-starttls smtp -brief -ign_eof
به همین ترتیب، برای اتصالات HTTP/1.1 گنجاندن هدر `Connection: close` تضمین میکند که سرور پس از پاسخ دادن، اتصال را ببندد:
printf 'GET / HTTP/1.1\r\nHost: <server address>\r\nConnection: close\r\n\r\n'
| openssl s_client -connect <server address>:443 -brief
این رویکردها به مدیریت منظم و مناسب بسته شدن اتصال کمک کرده و از معلق ماندن ناشی از انتظار سرور برای قطع ارتباط از سوی کلاینت جلوگیری میکنند.
اشکالات (BUGS)
به این دلیل که این برنامه گزینههای بسیار زیادی دارد و همچنین برخی از تکنیکهای بهکاررفته تا حدی قدیمی هستند، کد منبع C این دستور خوانایی دشواری دارد و الگوی مناسبی برای نحوه انجام کارها نیست. یک برنامه کلاینت معمولی SSL بسیار سادهتر خواهد بود.
گزینه -prexit تا حدودی یک ترفند غیراصولی (hack) است. در واقع باید هر زمان که یک نشست مجدداً مذاکره میشود اطلاعات گزارش شود.
همچنین ببینید (SEE ALSO)
openssl(1), openssl-sess_id(1), openssl-s_server(1), openssl-ciphers(1), SSL_CONF_cmd(3), SSL_CTX_set_max_send_fragment(3), SSL_CTX_set_split_send_fragment(3), SSL_CTX_set_max_pipelines(3), ossl_store-file(7)
تاریخچه (HISTORY)
گزینه -no_alt_chains در OpenSSL 1.1.0 افزوده شد. گزینه -name در OpenSSL 1.1.1 افزوده شد.
گزینه -certform در OpenSSL 3.0.0 منسوخ شده و هیچ تاثیری ندارد.
گزینه -engine در OpenSSL 3.0 منسوخ شد.
گزینههای -enable_client_rpk، -enable_server_rpk، -no_rx_cert_comp، -no_tx_cert_comp و -tfo در OpenSSL 3.2 افزوده شدند.
گزینههای <-ocsp_check_leaf> و -ocsp_check_all در OpenSSL 3.6 افزوده شدند.
حق نشر (COPYRIGHT)
حق نشر ۲۰۰۰-۲۰۲۶ متعلق به نویسندگان پروژه OpenSSL است. کلیه حقوق محفوظ است.
تحت مجوز آپاچی نسخه ۲.۰ ("مجوز") ارائه شده است. شما نمیتوانید از این پرونده استفاده کنید مگر در انطباق با مجوز. میتوانید نسخهای از مجوز را در پرونده LICENSE در توزیع منبع یا در https://www.openssl.org/source/license.html به دست آورید.
| 2026-08-25 | 3.6.4 |