.\" -*- 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-DGST 1ssl" .TH OPENSSL-DGST 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\-dgst \- انجام عملیات خلاصه پیام (دایجست) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBdgst\fR|\fIdigest\fR [\fB\-\fR\f(BIdigest\fR] [\fB\-list\fR] [\fB\-help\fR] [\fB\-c\fR] [\fB\-d\fR] [\fB\-debug\fR] [\fB\-hex\fR] [\fB\-binary\fR] [\fB\-xoflen\fR \fIlength\fR] [\fB\-r\fR] [\fB\-out\fR \fIfilename\fR] [\fB\-sign\fR \fIfilename\fR|\fIuri\fR] [\fB\-keyform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR|\fBENGINE\fR] [\fB\-passin\fR \fIarg\fR] [\fB\-verify\fR \fIfilename\fR] [\fB\-prverify\fR \fIfilename\fR] [\fB\-signature\fR \fIfilename\fR] [\fB\-sigopt\fR \fInm\fR:\fIv\fR] [\fB\-hmac\fR \fIkey\fR] [\fB\-mac\fR \fIalg\fR] [\fB\-macopt\fR \fInm\fR:\fIv\fR] [\fB\-fips\-fingerprint\fR] [\fB\-engine\fR \fIid\fR] [\fB\-engine_impl\fR \fIid\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] [\fIfile\fR ...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این دستور خلاصه پیام (message digest) یک یا چند فایل ارائه‌شده را در قالب هگزادسیمال در خروجی چاپ می‌کند، و همچنین با استفاده از خلاصه پیام، امضاهای دیجیتال را تولید و اعتبارسنجی می‌نماید. .PP نام عمومی، \fBopenssl dgst\fR، می‌تواند همراه با گزینه‌ای که الگوریتم مورد نظر را مشخص می‌کند استفاده شود. دایجست پیش‌فرض \fBsha256\fR است. یک نام \fIdigest\fR پشتیبانی‌شده نیز می‌تواند به عنوان نام زیردستور به کار رود. برای مشاهده فهرست الگوریتم‌های پشتیبانی‌شده، از \f(CW\*(C`openssl list \-digest\-algorithms\*(C'\fR استفاده کنید. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" چاپ پیام راهنمای نحوه استفاده. .IP \fB\-\fR\f(BIdigest\fR 4 .IX Item "-digest" نام یک دایجست پشتیبانی‌شده را برای استفاده مشخص می‌کند. گزینه \fB\-list\fR در زیر را ببینید: .IP \fB\-list\fR 4 .IX Item "-list" فهرستی از خلاصه‌های پیام پشتیبانی‌شده را چاپ می‌کند. .IP \fB\-c\fR 4 .IX Item "-c" دایجست را در گروه‌های دورقمی که با دونقطه (:) از هم جدا شده‌اند چاپ می‌کند؛ تنها زمانی کاربرد دارد که گزینه \fB\-hex\fR نیز ارائه شده باشد. .IP "\fB\-d\fR, \fB\-debug\fR" 4 .IX Item "-d, -debug" چاپ اطلاعات اشکال‌زدایی BIO. .IP \fB\-hex\fR 4 .IX Item "-hex" دایجست به صورت یک دامپ هگزادسیمال خروجی داده می‌شود. این حالت پیش‌فرض برای یک دایجست «عادی» در مقایسه با امضای دیجیتال است. برای اطلاعات درباره امضاهای دیجیتال با استفاده از \fB\-hex\fR به بخش «نکات» در زیر مراجعه کنید. .IP \fB\-binary\fR 4 .IX Item "-binary" خروجی دادن دایجست یا امضا در قالب باینری. .IP "\fB\-xoflen\fR \fIlength\fR" 4 .IX Item "-xoflen length" تنظیم طول خروجی برای الگوریتم‌های XOF مانند \fBshake128\fR و \fBshake256\fR. این گزینه برای عملیات امضا پشتیبانی نمی‌شود. .Sp برای ارائه‌دهندگان (providers) در OpenSSL، تنظیم این مقدار برای الگوریتم‌های shake الزامی است، زیرا مقادیر پیش‌فرض قبلی تنها به گونه‌ای تنظیم شده بودند که نیمی از حداکثر توان امنیتی را ارائه دهند. .Sp برای تضمین حداکثر توان امنیتی ۱۲۸ بیتی، مقدار xoflen برای \fBshake128\fR باید حداقل ۳۲ (بایت) تنظیم شود. برای سازگاری با نسخه‌های قبلی OpenSSL، می‌توان آن را روی ۱۶ تنظیم کرد که منجر به توان امنیتی تنها ۶۴ بیتی می‌شود. .Sp برای تضمین حداکثر توان امنیتی ۲۵۶ بیتی، مقدار xoflen برای \fBshake256\fR باید حداقل ۶۴ (بایت) تنظیم شود. برای سازگاری با نسخه‌های قبلی OpenSSL، می‌توان آن را روی ۳۲ تنظیم کرد که منجر به توان امنیتی تنها ۱۲۸ بیتی می‌شود. .IP \fB\-r\fR 4 .IX Item "-r" خروجی دادن دایجست در قالب «coreutils»، شامل خطوط جدید. توسط برنامه‌هایی مانند \fBsha1sum\fR\|(1) استفاده می‌شود. .IP "\fB\-out\fR \fIfilename\fR" 4 .IX Item "-out filename" نام فایل خروجی، یا به طور پیش‌فرض خروجی استاندارد. .IP "\fB\-sign\fR \fIfilename\fR|\fIuri\fR" 4 .IX Item "-sign filename|uri" امضای دیجیتال دایجست با استفاده از کلید خصوصی ارائه‌شده. .Sp توجه داشته باشید برای الگوریتم‌هایی که تنها از امضای تک‌مرحله‌ای (one\-shot) پشتیبانی می‌کنند (مانند Ed25519،‏ ED448،‏ ML\-DSA\-44،‏ ML\-DSA\-65 و ML\-DSA\-87) نباید دایجست تنظیم شود. برای این الگوریتم‌ها ورودی پیش از امضا بافر می‌شود (و خلاصه نمی‌گردد). برای این الگوریتم‌ها، اگر ورودی بزرگ‌تر از ۱۶ مگابایت باشد، خطایی رخ خواهد داد. .IP "\fB\-keyform\fR \fBDER\fR|\fBPEM\fR|\fBP12\fR|\fBENGINE\fR" 4 .IX Item "-keyform DER|PEM|P12|ENGINE" قالب کلید برای امضا؛ به طور پیش‌فرض نامشخص است. برای جزئیات به \fBopenssl\-format\-options\fR\|(1) مراجعه کنید. .IP "\fB\-sigopt\fR \fInm\fR:\fIv\fR" 4 .IX Item "-sigopt nm:v" ارسال گزینه‌ها به الگوریتم امضا در حین عملیات امضا یا اعتبارسنجی. نام‌ها و مقادیر این گزینه‌ها مختص هر الگوریتم بوده و در بخش «Signature parameters» در \fBprovider\-signature\fR\|(7) مستند شده‌اند. .IP "\fB\-passin\fR \fIarg\fR" 4 .IX Item "-passin arg" منبع گذرواژه کلید خصوصی. برای اطلاعات بیشتر درباره قالب \fIarg\fR به \fBopenssl\-passphrase\-options\fR\|(1) مراجعه کنید. .IP "\fB\-verify\fR \fIfilename\fR" 4 .IX Item "-verify filename" اعتبارسنجی امضا با استفاده از کلید عمومی موجود در «filename». خروجی یا «Verified OK» یا «Verification Failure» خواهد بود. .IP "\fB\-prverify\fR \fIfilename\fR" 4 .IX Item "-prverify filename" اعتبارسنجی امضا با استفاده از کلید خصوصی موجود در «filename». .IP "\fB\-signature\fR \fIfilename\fR" 4 .IX Item "-signature filename" امضای واقعی جهت اعتبارسنجی. .IP "\fB\-hmac\fR \fIkey\fR" 4 .IX Item "-hmac key" ایجاد یک MAC هش‌شده با استفاده از «key». .Sp دستور \fBopenssl\-mac\fR\|(1) باید بر استفاده از این گزینه خط فرمان ارجح دانسته شود. .IP "\fB\-mac\fR \fIalg\fR" 4 .IX Item "-mac alg" ایجاد MAC (کد اصالت‌سنجی پیام کلیددار). پرکاربردترین الگوریتم MAC الگوریتم HMAC (کد اصالت‌سنجی پیام مبتنی بر هش) است، اما الگوریتم‌های MAC دیگری نیز وجود دارند که مبتنی بر هش نیستند، به عنوان نمونه الگوریتم \fBgost\-mac\fR که توسط موتور \fBgost\fR پشتیبانی می‌شود. کلیدهای MAC و سایر گزینه‌ها باید از طریق پارامتر \fB\-macopt\fR تنظیم شوند. .Sp دستور \fBopenssl\-mac\fR\|(1) باید بر استفاده از این گزینه خط فرمان ارجح دانسته شود. .IP "\fB\-macopt\fR \fInm\fR:\fIv\fR" 4 .IX Item "-macopt nm:v" ارسال گزینه‌ها به الگوریتم MAC که با کلید \fB\-mac\fR مشخص شده است. گزینه‌های زیر توسط هر دو الگوریتم \fBHMAC\fR و \fBgost\-mac\fR پشتیبانی می‌شوند: .RS 4 .IP \fBkey\fR:\fIstring\fR 4 .IX Item "key:string" کلید MAC را به صورت یک رشته الفبایی‌عددی مشخص می‌کند (زمانی استفاده شود که کلید تنها شامل نویسه‌های قابل چاپ باشد). طول رشته باید با هرگونه محدودیت‌های الگوریتم MAC مطابقت داشته باشد؛ به عنوان مثال دقیقاً ۳۲ نویسه برای gost\-mac. .IP \fBhexkey\fR:\fIstring\fR 4 .IX Item "hexkey:string" کلید MAC را در قالب هگزادسیمال مشخص می‌کند (دو رقم هگز به ازای هر بایت). طول کلید باید با هرگونه محدودیت‌های الگوریتم MAC مطابقت داشته باشد؛ به عنوان مثال دقیقاً ۳۲ نویسه برای gost\-mac. .RE .RS 4 .Sp دستور \fBopenssl\-mac\fR\|(1) باید بر استفاده از این گزینه خط فرمان ارجح دانسته شود. .RE .IP \fB\-fips\-fingerprint\fR 4 .IX Item "-fips-fingerprint" محاسبه HMAC با استفاده از یک کلید مشخص برای برخی عملیات OpenSSL\-FIPS. .IP "\fB\-rand\fR \fIfiles\fR, \fB\-writerand\fR \fIfile\fR" 4 .IX Item "-rand files, -writerand file" برای جزئیات به بخش «Random State Options» در \fBopenssl\fR\|(1) مراجعه کنید. .IP "\fB\-engine\fR \fIid\fR" 4 .IX Item "-engine id" بخش «Engine Options» در \fBopenssl\fR\|(1) را ببینید. این گزینه منسوخ شده است. .Sp موتور برای خلاصه‌ها استفاده نمی‌شود مگر اینکه از گزینه \fB\-engine_impl\fR استفاده شده باشد یا برای این کار پیکربندی شده باشد؛ بخش «Engine Configuration Module» در \fBconfig\fR\|(5) را ببینید. .IP "\fB\-engine_impl\fR \fIid\fR" 4 .IX Item "-engine_impl id" هنگامی که همراه با گزینه \fB\-engine\fR استفاده شود، مشخص می‌کند که از موتور \fIid\fR برای عملیات خلاصه پیام نیز استفاده شود. .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) را ببینید. .IP "\fIfile\fR ..." 4 .IX Item "file ..." فایل یا فایل‌هایی که باید خلاصه شوند. اگر هیچ فایلی مشخص نشود، از ورودی استاندارد استفاده می‌شود. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" برای ایجاد خلاصه پیام کدگذاری‌شده با هگزادسیمال از یک فایل: .PP .Vb 3 \& openssl dgst \-md5 \-hex file.txt \& or \& openssl md5 file.txt .Ve .PP برای امضا کردن یک فایل با استفاده از SHA\-256 و خروجی در یک فایل باینری: .PP .Vb 3 \& openssl dgst \-sha256 \-sign privatekey.pem \-out signature.sign file.txt \& or \& openssl sha256 \-sign privatekey.pem \-out signature.sign file.txt .Ve .PP برای اعتبارسنجی یک امضا: .PP .Vb 3 \& openssl dgst \-sha256 \-verify publickey.pem \e \& \-signature signature.sign \e \& file.txt .Ve .SH "نکات (NOTES)" .IX Header "NOTES" سازوکارهای دایجست موجود به گزینه‌های استفاده‌شده هنگام ساخت OpenSSL بستگی خواهند داشت. برای فهرست کردن آن‌ها می‌توان از دستور \f(CW\*(C`openssl list \-digest\-algorithms\*(C'\fR استفاده کرد. .PP برنامه‌های جدید یا چابک بهتر است از SHA\-256 استفاده کنند. سایر دایجست‌ها، به‌ویژه SHA\-1 و MD5، هنوز به طور گسترده برای تعامل‌پذیری با قالب‌ها و پروتکل‌های موجود به کار می‌روند. .PP هنگام امضای یک فایل، این دستور الگوریتم مورد استفاده برای امضا (RSA، ECC و غیره) را بر اساس اطلاعات ASN.1 کلید خصوصی به طور خودکار تعیین می‌کند. هنگام اعتبارسنجی امضاها، این دستور تنها خود امضای RSA، DSA یا ECDSA را پردازش می‌کند، نه داده‌های مرتبط با شناسایی امضاکننده و الگوریتم استفاده‌شده در قالب‌هایی مانند X.509، CMS و S/MIME. .PP برای برخی الگوریتم‌های امضا، به‌ویژه ECDSA و DSA، یک منبع تولید اعداد تصادفی الزامی است. .PP گزینه‌های امضا و اعتبارسنجی تنها در صورتی باید استفاده شوند که یک فایل منفرد در حال امضا یا اعتبارسنجی باشد. .PP امضاهای هگزادسیمال را نمی‌توان با استفاده از \fBopenssl\fR اعتبارسنجی کرد. در عوض، پیش از اعتبارسنجی از «xxd \-r» یا برنامه‌ای مشابه برای تبدیل امضای هگز به یک امضای باینری استفاده کنید. .PP دستور \fBopenssl\-mac\fR\|(1) بر گزینه‌های خط فرمان \fB\-hmac\fR، \fB\-mac\fR و \fB\-macopt\fR ترجیح داده می‌شود. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\-mac\fR\|(1) .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" دایجست پیش‌فرض در OpenSSL 1.1.0 از MD5 به SHA256 تغییر یافت. گزینه‌های مرتبط با FIPS در OpenSSL 1.1.0 حذف شدند. .PP گزینه‌های \fB\-engine\fR و \fB\-engine_impl\fR در OpenSSL 3.0 منسوخ شدند. .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر 2000\-2025 متعلق به The OpenSSL Project Authors است. کلیه حقوق محفوظ است. .PP تحت مجوز Apache License 2.0 («مجوز») منتشر شده است. شما نمی‌توانید از این فایل استفاده کنید مگر در انطباق با این مجوز. می‌توانید یک نسخه از آن را در فایل LICENSE در توزیع مبدأ یا در دریافت نمایید.