TSGET(1ssl) OpenSSL TSGET(1ssl)

tsget - دریافت برچسب زمانی از سرور RFC 3161

tsget -h server_url [-e extension] [-o output] [-v] [-d] [-k private_key.pem] [-p key_password] [-c client_cert.pem] [-C CA_certs.pem] [-P CA_path] [-r files] [-g EGD_socket] [request ...]

این دستور می‌تواند برای ارسال یک درخواست برچسب زمانی (timestamp)، همان‌طور که در RFC 3161 مشخص شده است، به یک سرور برچسب زمانی از طریق HTTP یا HTTPS و ذخیره پاسخ برچسب زمانی در یک فایل استفاده شود. این دستور نمی‌تواند برای ایجاد درخواست‌ها و اعتبارسنجی پاسخ‌ها استفاده شود؛ برای انجام این کار باید از openssl-ts(1) استفاده کنید. چنانچه بیش از یک درخواست در خط فرمان مشخص شده باشد، این دستور می‌تواند چندین درخواست را بدون بستن اتصال TCP به سرور ارسال کند.

این دستور برای هر درخواست برچسب زمانی، درخواست HTTP زیر را ارسال می‌کند:

POST url HTTP/1.1
User-Agent: OpenTSA tsget.pl/<version>
Host: <host>:<port>
Pragma: no-cache
Content-Type: application/timestamp-query
Accept: application/timestamp-reply
Content-Length: length of body
...binary request specified by the user...

این دستور در انتظار پاسخی از نوع application/timestamp-reply است که بدون هیچ‌گونه تفسیر مستقیماً در یک فایل نوشته می‌شود.

نشانی اینترنتی (URL) سرور HTTP/HTTPS که در حال شنود برای درخواست‌های برچسب زمانی است.
اگر گزینه -o مشخص نشده باشد، این آرگومان پسوند فایل‌های خروجی را تعیین می‌کند. نام پایه فایل خروجی مشابه نام فایل‌های ورودی خواهد بود. پسوند پیش‌فرض .tsr است. (اختیاری)
این گزینه فقط زمانی می‌تواند مشخص شود که تنها یک درخواست به سرور ارسال می‌شود. پاسخ برچسب زمانی در فایل خروجی مشخص‌شده نوشته خواهد شد. '-' به معنی خروجی استاندارد است. در صورت وجود چندین درخواست برچسب زمانی یا عدم تعیین این آرگومان، نام فایل‌های خروجی از نام فایل‌های ورودی و پسوند پیش‌فرض یا تعیین‌شده مشتق می‌شود. (اختیاری)
نام درخواستی که در حال حاضر پردازش می‌شود روی خطای استاندارد چاپ می‌شود. (اختیاری)
حالت پرگویی (verbose) را برای ماژول پرل زیرین WWW::Curl::Easy فعال می‌کند. می‌توانید پیام‌های خطایابی با جزئیات را برای اتصال مشاهده کنید. (اختیاری)
(HTTPS) در صورت احراز هویت کلاینت مبتنی بر گواهی از طریق HTTPS، فایل private_key.pem باید شامل کلید خصوصی کاربر باشد. فایل کلید خصوصی می‌تواند به طور اختیاری با یک عبارت عبور (passphrase) محافظت شود. گزینه -c نیز باید مشخص شده باشد. (اختیاری)
(HTTPS) عبارت عبور کلید خصوصی تعیین‌شده توسط آرگومان -k را مشخص می‌کند. اگر این گزینه حذف شود و کلید دارای عبارت عبور باشد، از کاربر پرسیده خواهد شد. (اختیاری)
(HTTPS) در صورت احراز هویت کلاینت مبتنی بر گواهی از طریق HTTPS، فایل client_cert.pem باید شامل گواهی X.509 کاربر باشد. گزینه -k نیز باید مشخص شده باشد. در صورت عدم تعیین این گزینه، احراز هویت کلاینت بر پایه گواهی انجام نخواهد شد. (اختیاری)
(HTTPS) مخزن گواهی‌های معتمد CA. زنجیره گواهی طرف مقابل (peer) باید شامل یکی از گواهی‌های CA مشخص‌شده در این فایل باشد. در صورت استفاده از HTTPS باید یکی از گزینه‌های -C یا -P مشخص شود. (اختیاری)
(HTTPS) مسیری که حاوی گواهی‌های معتمد CA برای اعتبارسنجی گواهی طرف مقابل است. دایرکتوری باید با openssl-rehash(1) آماده‌سازی شده باشد. در صورت استفاده از HTTPS باید یکی از گزینه‌های -C یا -P مشخص شود. (اختیاری)
برای اطلاعات بیشتر بخش "Random State Options" را در openssl(1) ببینید.
نام یک سوکت EGD برای دریافت داده‌های تصادفی. (اختیاری)
فهرستی از فایل‌های حاوی درخواست‌های برچسب زمانی با کدگذاری DER بر اساس RFC 3161. اگر هیچ درخواستی مشخص نشود، تنها یک درخواست به سرور ارسال شده و از ورودی استاندارد خوانده خواهد شد. (اختیاری)

متغیر محیطی TSGET می‌تواند به صورت اختیاری شامل آرگومان‌های پیش‌فرض باشد. محتوای این متغیر به فهرست آرگومان‌های خط فرمان اضافه می‌شود.

مثال‌های زیر فرض می‌کنند که file1.tsq و file2.tsq حاوی درخواست‌های برچسب زمانی معتبر هستند، tsa.opentsa.org روی درگاه ۸۰۸۰ به درخواست‌های HTTP و روی درگاه ۸۴۴۳ به درخواست‌های HTTPS گوش می‌دهد، و سرویس TSA در مسیر مطلق /tsa در دسترس است.

دریافت پاسخ برچسب زمانی برای file1.tsq از طریق HTTP، خروجی در file1.tsr نوشته می‌شود:

tsget -h http://tsa.opentsa.org:8080/tsa file1.tsq

دریافت پاسخ برچسب زمانی برای file1.tsq و file2.tsq از طریق HTTP همراه با نمایش پیشرفت؛ خروجی به ترتیب در file1.reply و file2.reply نوشته می‌شود:

tsget -h http://tsa.opentsa.org:8080/tsa -v -e .reply \
      file1.tsq file2.tsq

ایجاد یک درخواست برچسب زمانی، نوشتن آن در file3.tsq، ارسال آن به سرور و نوشتن پاسخ در file3.tsr:

openssl ts -query -data file3.txt -cert | tee file3.tsq \
      | tsget -h http://tsa.opentsa.org:8080/tsa \
      -o file3.tsr

دریافت پاسخ برچسب زمانی برای file1.tsq از طریق HTTPS بدون احراز هویت کلاینت:

tsget -h https://tsa.opentsa.org:8443/tsa \
      -C cacerts.pem file1.tsq

دریافت پاسخ برچسب زمانی برای file1.tsq از طریق HTTPS با احراز هویت کلاینت مبتنی بر گواهی (در صورتی که client_key.pem محافظت شده باشد، عبارت عبور درخواست خواهد شد):

tsget -h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \
      -k client_key.pem -c client_cert.pem file1.tsq

در صورت استفاده از متغیر محیطی TSGET می‌توانید خط فرمان قبلی را کوتاه‌تر کنید. دستورات زیر همان کار مثال قبلی را انجام می‌دهند:

TSGET='-h https://tsa.opentsa.org:8443/tsa -C cacerts.pem \
      -k client_key.pem -c client_cert.pem'
export TSGET
tsget file1.tsq

openssl(1), openssl-ts(1), WWW::Curl::Easy, https://www.rfc-editor.org/rfc/rfc3161.html

حق نشر 2006-2020 نویسندگان پروژه OpenSSL. تمام حقوق محفوظ است.

تحت مجوز آپاچی، نسخه 2.0 ("مجوز") مجوزدهی شده است. شما نمی‌توانید از این فایل استفاده کنید مگر با رعایت مجوز. می‌توانید نسخه‌ای از مجوز را در فایل LICENSE در توزیع مبدا یا در https://www.openssl.org/source/license.html دریافت کنید.

2026-08-25 3.6.4