.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "OPENSSL-TS 1ssl" .TH OPENSSL-TS 1ssl 2026-08-25 3.6.4 OpenSSL .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" openssl\-ts \- دستور مرجع برچسب‌گذاری زمانی (TSA) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBts\fR \&\fB\-help\fR .PP \&\fBopenssl\fR \fBts\fR \&\fB\-query\fR [\fB\-config\fR \fIconfigfile\fR] [\fB\-data\fR \fIfile_to_hash\fR] [\fB\-digest\fR \fIdigest_bytes\fR] [\fB\-\fR\f(BIdigest\fR] [\fB\-tspolicy\fR \fIobject_id\fR] [\fB\-no_nonce\fR] [\fB\-cert\fR] [\fB\-in\fR \fIrequest.tsq\fR] [\fB\-out\fR \fIrequest.tsq\fR] [\fB\-text\fR] [\fB\-rand\fR \fIfiles\fR] [\fB\-writerand\fR \fIfile\fR] [\fB\-provider\fR \fIname\fR] [\fB\-provider\-path\fR \fIpath\fR] [\fB\-provparam\fR \fI[name:]key=value\fR] [\fB\-propquery\fR \fIpropq\fR] .PP \&\fBopenssl\fR \fBts\fR \&\fB\-reply\fR [\fB\-config\fR \fIconfigfile\fR] [\fB\-section\fR \fItsa_section\fR] [\fB\-queryfile\fR \fIrequest.tsq\fR] [\fB\-passin\fR \fIpassword_src\fR] [\fB\-signer\fR \fItsa_cert.pem\fR] [\fB\-inkey\fR \fIfilename\fR|\fIuri\fR] [\fB\-\fR\f(BIdigest\fR] [\fB\-chain\fR \fIcerts_file.pem\fR] [\fB\-tspolicy\fR \fIobject_id\fR] [\fB\-in\fR \fIresponse.tsr\fR] [\fB\-token_in\fR] [\fB\-out\fR \fIresponse.tsr\fR] [\fB\-token_out\fR] [\fB\-text\fR] [\fB\-engine\fR \fIid\fR] [\fB\-provider\fR \fIname\fR] [\fB\-provider\-path\fR \fIpath\fR] [\fB\-provparam\fR \fI[name:]key=value\fR] [\fB\-propquery\fR \fIpropq\fR] .PP \&\fBopenssl\fR \fBts\fR \&\fB\-verify\fR [\fB\-data\fR \fIfile_to_hash\fR] [\fB\-digest\fR \fIdigest_bytes\fR] [\fB\-queryfile\fR \fIrequest.tsq\fR] [\fB\-in\fR \fIresponse.tsr\fR] [\fB\-token_in\fR] [\fB\-untrusted\fR \fIfiles\fR|\fIuris\fR] [\fB\-CAfile\fR \fIfile\fR] [\fB\-CApath\fR \fIdir\fR] [\fB\-CAstore\fR \fIuri\fR] [\fB\-allow_proxy_certs\fR] [\fB\-attime\fR \fItimestamp\fR] [\fB\-no_check_time\fR] [\fB\-check_ss_sig\fR] [\fB\-crl_check\fR] [\fB\-crl_check_all\fR] [\fB\-explicit_policy\fR] [\fB\-extended_crl\fR] [\fB\-ignore_critical\fR] [\fB\-inhibit_any\fR] [\fB\-inhibit_map\fR] [\fB\-partial_chain\fR] [\fB\-policy\fR \fIarg\fR] [\fB\-policy_check\fR] [\fB\-policy_print\fR] [\fB\-purpose\fR \fIpurpose\fR] [\fB\-suiteB_128\fR] [\fB\-suiteB_128_only\fR] [\fB\-suiteB_192\fR] [\fB\-trusted_first\fR] [\fB\-no_alt_chains\fR] [\fB\-use_deltas\fR] [\fB\-auth_level\fR \fInum\fR] [\fB\-verify_depth\fR \fInum\fR] [\fB\-verify_email\fR \fIemail\fR] [\fB\-verify_hostname\fR \fIhostname\fR] [\fB\-verify_ip\fR \fIip\fR] [\fB\-verify_name\fR \fIname\fR] [\fB\-x509_strict\fR] [\fB\-issuer_checks\fR] [\fB\-provider\fR \fIname\fR] [\fB\-provider\-path\fR \fIpath\fR] [\fB\-provparam\fR \fI[name:]key=value\fR] [\fB\-propquery\fR \fIpropq\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این دستور یک برنامهٔ کارخواه (کلاینت) و سرور پایه‌ای مرجع برچسب‌گذاری زمانی (Time Stamping Authority یا TSA) طبق استاندارد RFC 3161 (پروتکل برچسب زمانی، TSP) است. یک TSA می‌تواند بخشی از یک زیرساخت کلید عمومی (PKI) باشد و نقش آن ارائهٔ اثبات بلندمدت برای وجود یک دادهٔ مشخص پیش از زمانی معین است. در ادامه شرح مختصری از این پروتکل آمده است: .IP 1. 4 کارخواه TSA یک مقدار هش یک‌طرفه را برای یک فایل داده محاسبه کرده و هش را به TSA ارسال می‌کند. .IP 2. 4 مرجع TSA تاریخ و زمان جاری را به مقدار هش دریافت‌شده ضمیمه کرده، آن‌ها را امضا می‌کند و توکن برچسب زمانی (Timestamp Token) را به کارخواه بازمی‌گرداند. با ایجاد این توکن، TSA وجود فایل دادهٔ اصلی را در زمان ایجاد پاسخ گواهی می‌کند. .IP 3. 4 کارخواه TSA توکن برچسب زمانی را دریافت کرده و امضای روی آن را اعتبارسنجی می‌کند. همچنین بررسی می‌کند که آیا توکن حاوی همان مقدار هشی است که به TSA ارسال کرده بود یا خیر. .PP یک واحد دادهٔ پروتکل (PDU) با کدگذاری DER برای انتقال یک درخواست برچسب زمانی به TSA و یکی دیگر برای ارسال پاسخ برچسب زمانی به کارخواه تعریف شده است. این دستور سه عملکرد اصلی دارد: ایجاد یک درخواست برچسب زمانی بر اساس یک فایل داده، ایجاد یک پاسخ برچسب زمانی بر اساس یک درخواست، و اعتبارسنجی این‌که آیا یک پاسخ با یک درخواست مشخص یا یک فایل داده مطابقت دارد یا خیر. .PP هنوز بر خلاف پیشنهاد RFC 3161، هیچ پشتیبانی‌ای برای ارسال خودکار درخواست‌ها/پاسخ‌ها از طریق HTTP یا TCP وجود ندارد. کاربران باید درخواست‌ها را از طریق ftp یا ایمیل ارسال کنند. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" نمایش پیام راهنمای نحوهٔ استفاده از دستور. .IP \fB\-query\fR 4 .IX Item "-query" تولید یک درخواست برچسب زمانی (TS query). برای جزئیات به بخش «تولید درخواست برچسب زمانی» مراجعه کنید. .IP \fB\-reply\fR 4 .IX Item "-reply" تولید یک پاسخ برچسب زمانی (TS reply). برای جزئیات به بخش «تولید پاسخ برچسب زمانی» مراجعه کنید. .IP \fB\-verify\fR 4 .IX Item "-verify" اعتبارسنجی یک پاسخ برچسب زمانی (TS response). برای جزئیات به بخش «اعتبارسنجی پاسخ برچسب زمانی» مراجعه کنید. .SS "تولید درخواست برچسب زمانی (Timestamp Request generation)" .IX Subsection "Timestamp Request generation" دستور \fB\-query\fR می‌تواند برای ایجاد و چاپ یک درخواست برچسب زمانی با گزینه‌های زیر استفاده شود: .IP "\fB\-config\fR \fIconfigfile\fR" 4 .IX Item "-config configfile" فایل پیکربندی مورد استفاده. اختیاری؛ برای شرح مقدار پیش‌فرض، به بخش «COMMAND SUMMARY» در \fBopenssl\fR\|(1) مراجعه کنید. .IP "\fB\-data\fR \fIfile_to_hash\fR" 4 .IX Item "-data file_to_hash" فایل داده‌ای که باید درخواست برچسب زمانی برای آن ایجاد شود. اگر نه پارامتر \fB\-data\fR و نه \fB\-digest\fR مشخص نشده باشد، ورودی استاندارد (stdin) پیش‌فرض است. (اختیاری) .IP "\fB\-digest\fR \fIdigest_bytes\fR" 4 .IX Item "-digest digest_bytes" امکان مشخص کردن صریح اثر پیام (Message Imprint) بدون ارائهٔ فایل داده وجود دارد. اثر پیام باید در قالب هگزادسیمال، دو نویسه به ازای هر بایت، و به‌صورت اختیاری با جداسازی بایت‌ها توسط دو‌نقطه (مانند 1A:F6:01:... یا 1AF601...) مشخص شود. تعداد بایت‌ها باید با الگوریتم خلاصه پیام مورد استفاده مطابقت داشته باشد. (اختیاری) .IP \fB\-\fR\f(BIdigest\fR 4 .IX Item "-digest" خلاصهٔ پیامی که باید روی فایل داده اعمال شود. هر خلاصه‌سازی که توسط دستور \fBopenssl\-dgst\fR\|(1) پشتیبانی شود قابل استفاده است. مقدار پیش‌فرض SHA\-256 است. (اختیاری) .IP "\fB\-tspolicy\fR \fIobject_id\fR" 4 .IX Item "-tspolicy object_id" سیاستی که کارخواه انتظار دارد TSA برای ایجاد توکن برچسب زمانی استفاده کند. می‌توان از نشانه‌گذاری OID نقطه‌دار یا نام‌های OID تعریف‌شده در فایل پیکربندی استفاده کرد. اگر هیچ سیاستی درخواست نشود، TSA از سیاست پیش‌فرض خود استفاده خواهد کرد. (اختیاری) .IP \fB\-no_nonce\fR 4 .IX Item "-no_nonce" در صورت تعیین این گزینه، هیچ نانسی (Nonce) در درخواست مشخص نمی‌شود. در غیر این صورت، یک نانس شبه‌تصادفی ۶۴ بیتی در درخواست گنجانده می‌شود. استفاده از نانس برای محافظت در برابر حملات تکرار (Replay Attacks) توصیه می‌شود. (اختیاری) .IP \fB\-cert\fR 4 .IX Item "-cert" انتظار می‌رود TSA گواهی‌نامهٔ امضاکنندهٔ خود را در پاسخ بگنجاند. (اختیاری) .IP "\fB\-in\fR \fIrequest.tsq\fR" 4 .IX Item "-in request.tsq" یک درخواست برچسب زمانی قبلاً ایجادشده در قالب DER را مشخص می‌کند که در فایل خروجی چاپ خواهد شد. هنگام نیاز به بررسی محتوای یک درخواست در قالبی خوانا برای انسان کاربرد دارد. (اختیاری) .IP "\fB\-out\fR \fIrequest.tsq\fR" 4 .IX Item "-out request.tsq" نام فایل خروجی که درخواست در آن نوشته خواهد شد. پیش‌فرض خروجی استاندارد (stdout) است. (اختیاری) .IP \fB\-text\fR 4 .IX Item "-text" در صورت تعیین این گزینه، خروجی به‌جای DER در قالب متنی خوانا برای انسان خواهد بود. (اختیاری) .IP "\fB\-rand\fR \fIfiles\fR, \fB\-writerand\fR \fIfile\fR" 4 .IX Item "-rand files, -writerand file" برای جزئیات بیشتر به بخش «Random State Options» در \fBopenssl\fR\|(1) مراجعه کنید. .SS "تولید پاسخ برچسب زمانی (Timestamp Response generation)" .IX Subsection "Timestamp Response generation" یک پاسخ برچسب زمانی (TimeStampResp) شامل یک وضعیت پاسخ و خودِ توکن برچسب زمانی (ContentInfo) است (در صورتی که تولید توکن موفقیت‌آمیز بوده باشد). دستور \fB\-reply\fR برای ایجاد پاسخ برچسب زمانی یا توکن برچسب زمانی بر اساس یک درخواست و چاپ پاسخ/توکن در قالبی خوانا برای انسان است. اگر گزینهٔ \fB\-token_out\fR مشخص نشود، خروجی همیشه یک پاسخ برچسب زمانی (TimeStampResp) خواهد بود، در غیر این صورت یک توکن برچسب زمانی (ContentInfo) است. .IP "\fB\-config\fR \fIconfigfile\fR" 4 .IX Item "-config configfile" فایل پیکربندی مورد استفاده. اختیاری؛ برای شرح مقدار پیش‌فرض، به بخش «COMMAND SUMMARY» در \fBopenssl\fR\|(1) مراجعه کنید. برای متغیرهای قابل پیکربندی به «گزینه‌های فایل پیکربندی» مراجعه کنید. .IP "\fB\-section\fR \fItsa_section\fR" 4 .IX Item "-section tsa_section" نام بخشی از فایل پیکربندی که شامل تنظیمات لازم برای تولید پاسخ است. در صورت مشخص نشدن، از بخش پیش‌فرض TSA استفاده می‌شود؛ برای جزئیات به «گزینه‌های فایل پیکربندی» مراجعه کنید. (اختیاری) .IP "\fB\-queryfile\fR \fIrequest.tsq\fR" 4 .IX Item "-queryfile request.tsq" نام فایلی که شامل یک درخواست برچسب زمانی کدگذاری‌شده با DER است. (اختیاری) .IP "\fB\-passin\fR \fIpassword_src\fR" 4 .IX Item "-passin password_src" منبع گذرواژه برای کلید خصوصی TSA را مشخص می‌کند. به توضیحات موجود در \fBopenssl\fR\|(1) مراجعه کنید. (اختیاری) .IP "\fB\-signer\fR \fItsa_cert.pem\fR" 4 .IX Item "-signer tsa_cert.pem" گواهی‌نامهٔ امضاکنندهٔ TSA در قالب PEM. گواهی‌نامهٔ امضای TSA باید دقیقاً یک کاربرد کلید گسترش‌یافته (Extended Key Usage) به نام timeStamping داشته باشد. این کاربرد کلید گسترش‌یافته باید حیاتی (Critical) نیز باشد، در غیر این صورت گواهی‌نامه رد خواهد شد. متغیر \fBsigner_cert\fR فایل پیکربندی را بازنویسی (Override) می‌کند. (اختیاری) .IP "\fB\-inkey\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-inkey filename|uri" کلید خصوصی امضاکنندهٔ TSA در قالب PEM. گزینهٔ \fBsigner_key\fR فایل پیکربندی را بازنویسی می‌کند. (اختیاری) .IP \fB\-\fR\f(BIdigest\fR 4 .IX Item "-digest" خلاصهٔ امضا برای استفاده. گزینهٔ \fBsigner_digest\fR فایل پیکربندی را بازنویسی می‌کند. (اجباری، مگر آن‌که در فایل پیکربندی مشخص شده باشد) .IP "\fB\-chain\fR \fIcerts_file.pem\fR" 4 .IX Item "-chain certs_file.pem" مجموعه‌ای از گواهی‌نامه‌ها در قالب PEM که در صورت استفاده از گزینهٔ \fB\-cert\fR برای درخواست، علاوه بر گواهی‌نامهٔ امضاکننده، همگی در پاسخ گنجانده خواهند شد. این فایل باید شامل زنجیرهٔ گواهی‌نامه برای گواهی‌نامهٔ امضاکننده از صادرکنندهٔ آن به بالا باشد. دستور \fB\-reply\fR زنجیرهٔ گواهی‌نامه را به‌صورت خودکار ایجاد نمی‌کند. (اختیاری) .IP "\fB\-tspolicy\fR \fIobject_id\fR" 4 .IX Item "-tspolicy object_id" سیاست پیش‌فرضی که برای پاسخ استفاده می‌شود، مگر این‌که کارخواه صراحتاً یک سیاست خاص TSA را درخواست کند. OID می‌تواند با نشانه‌گذاری نقطه‌دار یا با نام آن مشخص شود. گزینهٔ \fBdefault_policy\fR فایل پیکربندی را بازنویسی می‌کند. (اختیاری) .IP "\fB\-in\fR \fIresponse.tsr\fR" 4 .IX Item "-in response.tsr" یک پاسخ برچسب زمانی قبلاً ایجادشده یا توکن برچسب زمانی (در صورتی که \fB\-token_in\fR نیز مشخص شده باشد) را در قالب DER مشخص می‌کند که در فایل خروجی نوشته خواهد شد. این گزینه نیازی به درخواست ندارد و برای مثال هنگامی مفید است که بخواهید محتوای یک پاسخ یا توکن را بررسی کنید یا بخواهید توکن برچسب زمانی را از یک پاسخ استخراج نمایید. اگر ورودی یک توکن و خروجی یک پاسخ برچسب زمانی باشد، اطلاعات وضعیت پیش‌فرض \*(Aqgranted\*(Aq به توکن اضافه می‌شود. (اختیاری) .IP \fB\-token_in\fR 4 .IX Item "-token_in" این گزینه می‌تواند همراه با گزینهٔ \fB\-in\fR استفاده شود و نشان می‌دهد که ورودی، یک توکن برچسب زمانی کدگذاری‌شده با DER (ContentInfo) است و نه یک پاسخ برچسب زمانی (TimeStampResp). (اختیاری) .IP "\fB\-out\fR \fIresponse.tsr\fR" 4 .IX Item "-out response.tsr" پاسخ در این فایل نوشته می‌شود. قالب و محتوای فایل به گزینه‌های دیگر بستگی دارد (به \fB\-text\fR و \fB\-token_out\fR مراجعه کنید). پیش‌فرض خروجی استاندارد (stdout) است. (اختیاری) .IP \fB\-token_out\fR 4 .IX Item "-token_out" خروجی به‌جای پاسخ برچسب زمانی (TimeStampResp)، یک توکن برچسب زمانی (ContentInfo) خواهد بود. (اختیاری) .IP \fB\-text\fR 4 .IX Item "-text" در صورت تعیین این گزینه، خروجی به‌جای DER در قالب متنی خوانا برای انسان خواهد بود. (اختیاری) .IP "\fB\-engine\fR \fIid\fR" 4 .IX Item "-engine id" به بخش «Engine Options» در \fBopenssl\fR\|(1) مراجعه کنید. این گزینه منسوخ شده است. .IP "\fB\-provider\fR \fIname\fR" 4 .IX Item "-provider name" .PD 0 .IP "\fB\-provider\-path\fR \fIpath\fR" 4 .IX Item "-provider-path path" .IP "\fB\-provparam\fR \fI[name:]key=value\fR" 4 .IX Item "-provparam [name:]key=value" .IP "\fB\-propquery\fR \fIpropq\fR" 4 .IX Item "-propquery propq" .PD به بخش «Provider Options» در \fBopenssl\fR\|(1)، \fBprovider\fR\|(7) و \fBproperty\fR\|(7) مراجعه کنید. .SS "اعتبارسنجی پاسخ برچسب زمانی (Timestamp Response verification)" .IX Subsection "Timestamp Response verification" دستور \fB\-verify\fR برای بررسی این است که آیا یک پاسخ برچسب زمانی یا توکن برچسب زمانی معتبر است و با یک درخواست برچسب زمانی یا فایل دادهٔ خاص مطابقت دارد یا خیر. دستور \fB\-verify\fR از فایل پیکربندی استفاده نمی‌کند. .IP "\fB\-data\fR \fIfile_to_hash\fR" 4 .IX Item "-data file_to_hash" پاسخ یا توکن باید در برابر file_to_hash اعتبارسنجی شود. فایل با استفاده از الگوریتم خلاصه پیام مشخص‌شده در توکن هش می‌شود. گزینه‌های \fB\-digest\fR و \fB\-queryfile\fR نباید همراه با این گزینه استفاده شوند. (اختیاری) .IP "\fB\-digest\fR \fIdigest_bytes\fR" 4 .IX Item "-digest digest_bytes" پاسخ یا توکن باید در برابر خلاصه پیام مشخص‌شده با این گزینه اعتبارسنجی شود. تعداد بایت‌ها باید با الگوریتم خلاصه پیام مشخص‌شده در توکن مطابقت داشته باشد. گزینه‌های \fB\-data\fR و \fB\-queryfile\fR نباید همراه با این گزینه مشخص شوند. (اختیاری) .IP "\fB\-queryfile\fR \fIrequest.tsq\fR" 4 .IX Item "-queryfile request.tsq" درخواست برچسب زمانی اصلی در قالب DER. گزینه‌های \fB\-data\fR و \fB\-digest\fR نباید همراه با این گزینه استفاده شوند. (اختیاری) .IP "\fB\-in\fR \fIresponse.tsr\fR" 4 .IX Item "-in response.tsr" پاسخ برچسب زمانی در قالب DER که باید اعتبارسنجی شود. (اجباری) .IP \fB\-token_in\fR 4 .IX Item "-token_in" این گزینه می‌تواند همراه با گزینهٔ \fB\-in\fR استفاده شود و نشان می‌دهد که ورودی، یک توکن برچسب زمانی کدگذاری‌شده با DER (ContentInfo) است و نه یک پاسخ برچسب زمانی (TimeStampResp). (اختیاری) .IP "\fB\-untrusted\fR \fIfiles\fR|\fIuris\fR" 4 .IX Item "-untrusted files|uris" مجموعه‌ای از گواهی‌نامه‌های غیرمعتمد اضافی که ممکن است هنگام ایجاد زنجیرهٔ گواهی‌نامه برای گواهی‌نامهٔ امضای TSA مورد نیاز باشند. تا زمانی که پاسخ پیشاپیش شامل این گواهی‌ها باشد، نیازی نیست که این مجموعه حاوی گواهی‌نامهٔ امضای TSA و گواهی‌نامه‌های CA میانی باشد. (اختیاری) .Sp می‌توان چندین منبع را با کاما و/یا نویسهٔ فاصله از یکدیگر جدا کرد. هر فایل می‌تواند شامل چندین گواهی‌نامه باشد. .IP "\fB\-CAfile\fR \fIfile\fR, \fB\-CApath\fR \fIdir\fR, \fB\-CAstore\fR \fIuri\fR" 4 .IX Item "-CAfile file, -CApath dir, -CAstore uri" برای جزئیات بیشتر به بخش «Trusted Certificate Options» در \fBopenssl\-verification\-options\fR\|(1) مراجعه کنید. حداقل یکی از گزینه‌های \fB\-CAfile\fR، \fB\-CApath\fR یا \fB\-CAstore\fR باید مشخص شود. .IP "\fB\-allow_proxy_certs\fR, \fB\-attime\fR, \fB\-no_check_time\fR, \fB\-check_ss_sig\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-explicit_policy\fR, \fB\-extended_crl\fR, \fB\-ignore_critical\fR, \fB\-inhibit_any\fR, \fB\-inhibit_map\fR, \fB\-no_alt_chains\fR, \fB\-partial_chain\fR, \fB\-policy\fR, \fB\-policy_check\fR, \fB\-policy_print\fR, \fB\-purpose\fR, \fB\-suiteB_128\fR, \fB\-suiteB_128_only\fR, \fB\-suiteB_192\fR, \fB\-trusted_first\fR, \fB\-use_deltas\fR, \fB\-auth_level\fR, \fB\-verify_depth\fR, \fB\-verify_email\fR, \fB\-verify_hostname\fR, \fB\-verify_ip\fR, \fB\-verify_name\fR, \fB\-x509_strict\fR \fB\-issuer_checks\fR" 4 .IX Item "-allow_proxy_certs, -attime, -no_check_time, -check_ss_sig, -crl_check, -crl_check_all, -explicit_policy, -extended_crl, -ignore_critical, -inhibit_any, -inhibit_map, -no_alt_chains, -partial_chain, -policy, -policy_check, -policy_print, -purpose, -suiteB_128, -suiteB_128_only, -suiteB_192, -trusted_first, -use_deltas, -auth_level, -verify_depth, -verify_email, -verify_hostname, -verify_ip, -verify_name, -x509_strict -issuer_checks" تنظیم گزینه‌های گوناگون اعتبارسنجی زنجیرهٔ گواهی‌نامه. برای جزئیات به بخش «Verification Options» در \fBopenssl\-verification\-options\fR\|(1) مراجعه کنید. .Sp هرگونه خطای اعتبارسنجی موجب خروج دستور خواهد شد. .SH "گزینه‌های فایل پیکربندی (CONFIGURATION FILE OPTIONS)" .IX Header "CONFIGURATION FILE OPTIONS" دستورهای \fB\-query\fR و \fB\-reply\fR از یک فایل پیکربندی استفاده می‌کنند. برای شرح کلی نحوهٔ نگارش (Syntax) فایل پیکربندی به \fBconfig\fR\|(5) مراجعه کنید. دستور \fB\-query\fR تنها از بخش نام‌های نمادین OID استفاده می‌کند و می‌تواند بدون آن نیز کار کند. با این حال، دستور \fB\-reply\fR برای عملکرد خود به فایل پیکربندی نیاز دارد. .PP هنگامی که یک گزینهٔ خط فرمان معادل با یک متغیر وجود دارد، گزینه همیشه تنظیمات موجود در فایل پیکربندی را بازنویسی می‌کند. .IP "بخش \fBtsa\fR، \fBdefault_tsa\fR" 4 .IX Item "tsa section, default_tsa" این بخش اصلی است و نام بخش دیگری را مشخص می‌کند که شامل تمام گزینه‌های مربوط به دستور \fB\-reply\fR است. این بخش پیش‌فرض می‌تواند با گزینهٔ خط فرمان \fB\-section\fR بازنویسی شود. (اختیاری) .IP \fBoid_file\fR 4 .IX Item "oid_file" فایلی حاوی شناسه‌های شیء اضافی (\fBOBJECT IDENTIFIERS\fR) را مشخص می‌کند. هر سطر فایل باید شامل شکل عددی شناسهٔ شیء، به دنبال آن نویسهٔ فاصله، سپس نام کوتاه، به دنبال آن نویسهٔ فاصله و در نهایت نام کامل باشد. (اختیاری) .IP \fBoid_section\fR 4 .IX Item "oid_section" بخشی را در فایل پیکربندی مشخص می‌کند که شامل شناسه‌های شیء اضافی است. هر سطر باید شامل نام کوتاه شناسهٔ شیء به همراه \fB=\fR و شکل عددی آن باشد. هنگام استفاده از این گزینه، نام کوتاه و نام کامل یکسان خواهند بود. (اختیاری) .IP \fBRANDFILE\fR 4 .IX Item "RANDFILE" در زمان راه‌اندازی، فایل مشخص‌شده در مولد اعداد تصادفی بارگذاری می‌شود و هنگام خروج، ۲۵۶ بایت در آن نوشته خواهد شد. (نکته: استفاده از RANDFILE دیگر ضروری نیست، به بخش «تاریخچه» مراجعه کنید). .IP \fBserial\fR 4 .IX Item "serial" نام فایلی که شامل شماره سریال هگزادسیمال آخرین پاسخ برچسب زمانی ایجادشده است. این شماره با هر پاسخ ۱ واحد افزایش می‌یابد. اگر در زمان ایجاد پاسخ فایل وجود نداشته باشد، فایل جدیدی با شماره سریال ۱ ایجاد می‌شود. (اجباری) .IP \fBcrypto_device\fR 4 .IX Item "crypto_device" موتور OpenSSL را مشخص می‌کند که به‌عنوان پیش‌فرض برای تمامی الگوریتم‌های موجود تنظیم خواهد شد. مقدار پیش‌فرض built\-in است؛ می‌توانید هر موتور دیگری را که توسط OpenSSL پشتیبانی می‌شود مشخص کنید (مثلاً استفاده از chil برای HSM شرکت NCipher). (اختیاری) .IP \fBsigner_cert\fR 4 .IX Item "signer_cert" گواهی‌نامهٔ امضای TSA در قالب PEM. همانند گزینهٔ خط فرمان \fB\-signer\fR عمل می‌کند. (اختیاری) .IP \fBcerts\fR 4 .IX Item "certs" فایلی شامل مجموعه‌ای از گواهی‌نامه‌های کدگذاری‌شده با PEM که باید در پاسخ گنجانده شوند. همانند گزینهٔ خط فرمان \fB\-chain\fR عمل می‌کند. (اختیاری) .IP \fBsigner_key\fR 4 .IX Item "signer_key" کلید خصوصی TSA در قالب PEM. همانند گزینهٔ خط فرمان \fB\-inkey\fR عمل می‌کند. (اختیاری) .IP \fBsigner_digest\fR 4 .IX Item "signer_digest" خلاصهٔ امضا برای استفاده. همانند گزینهٔ خط فرمان \&\fB\-\fR\f(BIdigest\fR عمل می‌کند. (اجباری، مگر این‌که در خط فرمان مشخص شده باشد) .IP \fBdefault_policy\fR 4 .IX Item "default_policy" سیاست پیش‌فرض مورد استفاده هنگامی که در درخواست هیچ سیاستی الزام نشده باشد. همانند گزینهٔ خط فرمان \fB\-tspolicy\fR عمل می‌کند. (اختیاری) .IP \fBother_policies\fR 4 .IX Item "other_policies" فهرست جداشده با کاما از سیاست‌هایی که توسط TSA پذیرفته می‌شوند و تنها در صورتی استفاده می‌گردند که در درخواست صراحتاً یکی از آن‌ها مشخص شده باشد. (اختیاری) .IP \fBdigests\fR 4 .IX Item "digests" فهرست الگوریتم‌های خلاصه پیامی که TSA می‌پذیرد. حداقل یک الگوریتم باید مشخص شود. (اجباری) .IP \fBaccuracy\fR 4 .IX Item "accuracy" دقت منبع زمانی TSA به ثانیه، میلی‌ثانیه و میکروثانیه. مانند secs:1, millisecs:500, microsecs:100. اگر هر یک از مؤلفه‌ها ذکر نشود، مقدار صفر برای آن فیلد در نظر گرفته می‌شود. (اختیاری) .IP \fBclock_precision_digits\fR 4 .IX Item "clock_precision_digits" حداکثر تعداد ارقامی را که بیانگر کسر ثانیه هستند و باید در فیلد زمان گنجانده شوند، مشخص می‌کند. صفرهای انتهایی باید از زمان حذف شوند، بنابراین ممکن است در عمل ارقام کمتری وجود داشته باشد یا اصلاً کسر ثانیه‌ای نباشد. فقط در پلتفرم‌های یونیکس پشتیبانی می‌شود. حداکثر مقدار ۶ و پیش‌فرض ۰ است. (اختیاری) .IP \fBordering\fR 4 .IX Item "ordering" اگر این گزینه yes باشد، پاسخ‌های تولیدشده توسط این TSA همیشه قابل ترتیب‌بندی خواهند بود، حتی اگر اختلاف زمانی بین دو پاسخ کمتر از مجموع دقت‌های آن‌ها باشد. پیش‌فرض no است. (اختیاری) .IP \fBtsa_name\fR 4 .IX Item "tsa_name" اگر نام موضوع (Subject) مرجع TSA باید در فیلد نام TSA در پاسخ گنجانده شود، این گزینه را روی yes تنظیم کنید. پیش‌فرض no است. (اختیاری) .IP \fBess_cert_id_chain\fR 4 .IX Item "ess_cert_id_chain" اشیای SignedData ایجادشده توسط TSA همواره حاوی شناسهٔ گواهی‌نامهٔ امضاکننده در یک صفت امضاشده هستند (به RFC 2634، خدمات امنیتی پیشرفته یا Enhanced Security Services مراجعه کنید). اگر این متغیر روی no تنظیم شده باشد، تنها شناسهٔ همین گواهی‌نامهٔ امضاکننده در صفت امضاشدهٔ SigningCertificate گنجانده می‌شود. اگر این متغیر روی yes تنظیم شده باشد و متغیر \fBcerts\fR یا گزینهٔ \fB\-chain\fR مشخص شده باشد، شناسه‌های گواهی‌نامهٔ زنجیره نیز گنجانده خواهند شد، که در آن گزینهٔ \fB\-chain\fR متغیر \fBcerts\fR را بازنویسی می‌کند. پیش‌فرض no است. (اختیاری) .IP \fBess_cert_id_alg\fR 4 .IX Item "ess_cert_id_alg" این گزینه تابع هش مورد استفاده برای محاسبهٔ شناسهٔ گواهی‌نامهٔ کلید عمومی TSA را مشخص می‌کند. پیش‌فرض sha256 است. (اختیاری) .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" تمام مثال‌های زیر فرض می‌کنند که \fBOPENSSL_CONF\fR روی یک فایل پیکربندی مناسب تنظیم شده است؛ برای نمونه فایل پیکربندی نمونهٔ \&\fIopenssl/apps/openssl.cnf\fR کفایت می‌کند. .SS "درخواست برچسب زمانی (Timestamp Request)" .IX Subsection "Timestamp Request" برای ایجاد یک درخواست برچسب زمانی برای \fIdesign1.txt\fR با خلاصهٔ SHA\-256، بدون نانس و سیاست، و بدون الزام به وجود گواهی‌نامه در پاسخ: .PP .Vb 2 \& openssl ts \-query \-data design1.txt \-no_nonce \e \& \-out design1.tsq .Ve .PP برای ایجاد یک درخواست برچسب زمانی مشابه با تعیین صریح اثر پیام (Message Imprint): .PP .Vb 2 \& openssl ts \-query \-digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \e \& \-no_nonce \-out design1.tsq .Ve .PP برای چاپ محتوای درخواست قبلی در قالبی خوانا برای انسان: .PP .Vb 1 \& openssl ts \-query \-in design1.tsq \-text .Ve .PP برای ایجاد یک درخواست برچسب زمانی که شامل خلاصهٔ SHA\-512 فایل \fIdesign2.txt\fR باشد، گواهی‌نامهٔ امضاکننده و نانس را درخواست کند، و یک شناسهٔ سیاست را مشخص نماید (با این فرض که نام tsa_policy1 در بخش OID فایل پیکربندی تعریف شده است): .PP .Vb 2 \& openssl ts \-query \-data design2.txt \-sha512 \e \& \-tspolicy tsa_policy1 \-cert \-out design2.tsq .Ve .SS "پاسخ برچسب زمانی (Timestamp Response)" .IX Subsection "Timestamp Response" پیش از ایجاد یک پاسخ، باید یک گواهی‌نامهٔ امضا برای TSA ایجاد شود که حاوی افزونهٔ حیاتیِ کاربرد کلید گسترش‌یافتهٔ \fBtimeStamping\fR و فاقد هرگونه افزونهٔ کاربرد کلید دیگری باشد. برای ایجاد یک گواهی‌نامهٔ مناسب، می‌توانید این خط را به بخش گواهی‌نامهٔ کاربر (user certificate) در فایل پیکربندی اضافه کنید: .PP .Vb 1 \& extendedKeyUsage = critical,timeStamping .Ve .PP برای دستورالعمل‌ها به \fBopenssl\-req\fR\|(1)، \fBopenssl\-ca\fR\|(1) و \fBopenssl\-x509\fR\|(1) مراجعه کنید. مثال‌های زیر فرض می‌کنند که \fIcacert.pem\fR شامل گواهی‌نامهٔ CA، فایل \fItsacert.pem\fR گواهی‌نامهٔ امضای صادرشده توسط \fIcacert.pem\fR و فایل \fItsakey.pem\fR کلید خصوصی مرجع TSA است. .PP برای ایجاد یک پاسخ برچسب زمانی برای یک درخواست: .PP .Vb 2 \& openssl ts \-reply \-queryfile design1.tsq \-inkey tsakey.pem \e \& \-signer tsacert.pem \-out design1.tsr .Ve .PP اگر می‌خواهید از تنظیمات موجود در فایل پیکربندی استفاده کنید، می‌توانید به‌سادگی بنویسید: .PP .Vb 1 \& openssl ts \-reply \-queryfile design1.tsq \-out design1.tsr .Ve .PP برای چاپ یک پاسخ برچسب زمانی در خروجی استاندارد در قالبی خوانا برای انسان: .PP .Vb 1 \& openssl ts \-reply \-in design1.tsr \-text .Ve .PP برای ایجاد یک توکن برچسب زمانی به‌جای پاسخ برچسب زمانی: .PP .Vb 1 \& openssl ts \-reply \-queryfile design1.tsq \-out design1_token.der \-token_out .Ve .PP برای چاپ یک توکن برچسب زمانی در خروجی استاندارد در قالبی خوانا برای انسان: .PP .Vb 1 \& openssl ts \-reply \-in design1_token.der \-token_in \-text \-token_out .Ve .PP برای استخراج توکن برچسب زمانی از یک پاسخ: .PP .Vb 1 \& openssl ts \-reply \-in design1.tsr \-out design1_token.der \-token_out .Ve .PP برای افزودن اطلاعات وضعیت \*(Aqgranted\*(Aq به یک توکن برچسب زمانی و در نتیجه ایجاد یک پاسخ معتبر: .PP .Vb 1 \& openssl ts \-reply \-in design1_token.der \-token_in \-out design1.tsr .Ve .SS "اعتبارسنجی برچسب زمانی (Timestamp Verification)" .IX Subsection "Timestamp Verification" برای اعتبارسنجی یک پاسخ برچسب زمانی در برابر یک درخواست: .PP .Vb 2 \& openssl ts \-verify \-queryfile design1.tsq \-in design1.tsr \e \& \-CAfile cacert.pem \-untrusted tsacert.pem .Ve .PP برای اعتبارسنجی یک پاسخ برچسب زمانی که شامل زنجیرهٔ گواهی‌نامه است: .PP .Vb 2 \& openssl ts \-verify \-queryfile design2.tsq \-in design2.tsr \e \& \-CAfile cacert.pem .Ve .PP برای اعتبارسنجی یک توکن برچسب زمانی در برابر فایل دادهٔ اصلی: .PP .Vb 2 \& openssl ts \-verify \-data design2.txt \-in design2.tsr \e \& \-CAfile cacert.pem .Ve .PP برای اعتبارسنجی یک توکن برچسب زمانی در برابر اثر پیام (Message Imprint): .PP .Vb 2 \& openssl ts \-verify \-digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \e \& \-in design2.tsr \-CAfile cacert.pem .Ve .PP همچنین می‌توانید برای مثال‌های بیشتر به پوشهٔ \*(Aqtest\*(Aq نگاهی بیندازید. .SH "اشکالات (BUGS)" .IX Header "BUGS" .IP \(bu 2 هیچ پشتیبانی‌ای برای برچسب‌های زمانی روی SMTP وجود ندارد، هرچند پیاده‌سازی یک TSA مبتنی بر ایمیل خودکار با استفاده از \fBprocmail\fR\|(1) و \fBperl\fR\|(1) بسیار آسان است. پشتیبانی از کارساز HTTP در قالب یک ماژول آپاچی جداگانه ارائه می‌شود. پشتیبانی از کارخواه HTTP توسط \&\fBtsget\fR\|(1) فراهم گردیده است. پروتکل خالص TCP/IP پشتیبانی نمی‌شود. .IP \(bu 2 فایل حاوی آخرین شماره سریال TSA هنگام خواندن یا نوشتن قفل نمی‌شود. اگر بیش از یک نمونه از \fBopenssl\fR\|(1) تلاش کند هم‌زمان پاسخ برچسب زمانی ایجاد کند، این مسئله مشکل‌ساز خواهد بود. هنگام استفاده از ماژول سرور آپاچی این مشکل وجود ندارد، زیرا قفل‌گذاری مناسب را انجام می‌دهد. .IP \(bu 2 کلمهٔ FIXME را در فایل‌های منبع جستجو کنید. .IP \(bu 2 کد منبع باید حتماً توسط فرد دیگری نیز بررسی شود. .IP \(bu 2 آزمایش‌های بیشتری مورد نیاز است؛ من فقط برخی آزمایش‌های پایه‌ای را انجام داده‌ام (به test/testtsa مراجعه کنید). .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" نسخهٔ 1.1.1 اوپن‌اس‌اس‌ال یک مولد تصادفی جدید (CSPRNG) با سازوکار بذردهی (Seeding) بهبودیافته معرفی کرد. این سازوکار بذردهی جدید، تعریف یک RANDFILE برای ذخیره و بازیابی تصادفی‌بودن را غیرضروری می‌کند. این گزینه عمدتاً به دلایل سازگاری حفظ شده است. .PP گزینهٔ \fB\-engine\fR در OpenSSL 3.0 منسوخ شد. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\fR\|(1), \&\fBtsget\fR\|(1), \&\fBopenssl\-req\fR\|(1), \&\fBopenssl\-x509\fR\|(1), \&\fBopenssl\-ca\fR\|(1), \&\fBopenssl\-genrsa\fR\|(1), \&\fBconfig\fR\|(5), \&\fBossl_store\-file\fR\|(7) .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر ۲۰۰۶\-۲۰۲۵ نویسندگان پروژه OpenSSL. تمامی حقوق محفوظ است. .PP تحت مجوز آپاچی، نسخه ۲.۰ («مجوز») منتشر شده است. استفاده از این فایل تنها بر اساس شرایط و مقررات مندرج در مجوز مجاز است. شما می‌توانید نسخه‌ای از مجوز را در فایل LICENSE در توزیع منبع یا در نشانی زیر دریافت کنید: