.\" -*- 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-MAC 1ssl" .TH OPENSSL-MAC 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\-mac \- انجام عملیات کد اصالت‌سنجی پیام (MAC) .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBopenssl mac\fR [\fB\-help\fR] [\fB\-cipher\fR] [\fB\-digest\fR] [\fB\-macopt\fR] [\fB\-in\fR \fIfilename\fR] [\fB\-out\fR \fIfilename\fR] [\fB\-binary\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] \&\fImac_name\fR .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" توابع کد اصالت‌سنجی پیام (MAC)، مقدار MAC یک فایل ورودی ارائه‌شده را در خروجی تولید می‌کنند. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-help\fR 4 .IX Item "-help" نمایش پیام راهنمای نحوه استفاده. .IP "\fB\-in\fR \fIfilename\fR" 4 .IX Item "-in filename" نام فایل ورودی برای محاسبه MAC، یا به‌طور پیش‌فرض ورودی استاندارد (stdin). اگر نام فایل برابر با \*(Aq\-\*(Aq باشد، از ورودی استاندارد استفاده می‌شود. انتظار می‌رود فایل‌ها و ورودی استاندارد در قالب باینری باشند. .IP "\fB\-out\fR \fIfilename\fR" 4 .IX Item "-out filename" نام فایل خروجی برای نوشتن، یا به‌طور پیش‌فرض خروجی استاندارد (stdout). .IP \fB\-binary\fR 4 .IX Item "-binary" خروجی دادن مقدار MAC در قالب باینری. در صورت مشخص نشدن، از قالب متنی هگزادسیمال استفاده می‌شود. .IP "\fB\-cipher\fR \fIname\fR" 4 .IX Item "-cipher name" توسط الگوریتم‌های CMAC و GMAC برای تعیین الگوریتم رمزنگاری استفاده می‌شود. برای CMAC باید یک رمزنگار در حالت CBC باشد، مانند AES\-128\-CBC. برای GMAC باید یک رمزنگار در حالت GCM باشد، مانند AES\-128\-GCM. .IP "\fB\-digest\fR \fIname\fR" 4 .IX Item "-digest name" توسط HMAC به عنوان یک رشته الفبایی-عددی استفاده می‌شود (زمانی استفاده شود که کلید فقط شامل نویسه‌های قابل چاپ باشد). طول رشته باید با هرگونه محدودیت‌های الگوریتم MAC مطابقت داشته باشد. برای مشاهده فهرست خلاصه‌سازهای (digest) پشتیبانی‌شده، از دستور \f(CW\*(C`openssl list \-digest\-commands\*(C'\fR استفاده کنید. .IP "\fB\-macopt\fR \fInm\fR:\fIv\fR" 4 .IX Item "-macopt nm:v" گزینه‌ها را به الگوریتم MAC ارسال می‌کند. فهرست جامعی از کنترل‌ها را می‌توان در مستندات پیاده‌سازی EVP_MAC یافت. نام‌های پارامترهای رایج استفاده‌شده توسط \fBEVP_MAC_CTX_get_params()\fR عبارتند از: .RS 4 .IP \fBkey:\fR\fIstring\fR 4 .IX Item "key:string" کلید MAC را به صورت یک رشته الفبایی-عددی تعیین می‌کند (در صورتی استفاده شود که کلید تنها شامل نویسه‌های قابل چاپ باشد). طول رشته باید با هرگونه محدودیت‌های الگوریتم MAC مطابقت داشته باشد. برای هر الگوریتم MAC باید یک کلید تعیین شود. .IP \fBhexkey:\fR\fIstring\fR 4 .IX Item "hexkey:string" کلید MAC را در قالب هگزادسیمال تعیین می‌کند (دو رقم هگزادسیمال به ازای هر بایت). طول کلید باید با هرگونه محدودیت‌های الگوریتم MAC مطابقت داشته باشد. برای هر الگوریتم MAC باید یک کلید تعیین شود. .IP \fBiv:\fR\fIstring\fR 4 .IX Item "iv:string" توسط GMAC برای تعیین یک IV به صورت رشته الفبایی-عددی استفاده می‌شود (در صورتی استفاده شود که IV تنها شامل نویسه‌های قابل چاپ باشد). .IP \fBhexiv:\fR\fIstring\fR 4 .IX Item "hexiv:string" توسط GMAC برای تعیین یک IV در قالب هگزادسیمال استفاده می‌شود (دو رقم هگزادسیمال به ازای هر بایت). .IP \fBsize:\fR\fIint\fR 4 .IX Item "size:int" توسط KMAC128 یا KMAC256 برای تعیین طول خروجی استفاده می‌شود. اندازه‌های پیش‌فرض به ترتیب ۳۲ یا ۶۴ بایت هستند. .IP \fBcustom:\fR\fIstring\fR 4 .IX Item "custom:string" توسط KMAC128 یا KMAC256 برای تعیین یک رشته سفارشی‌سازی استفاده می‌شود. مقدار پیش‌فرض رشته خالی "" است. .IP \fBdigest:\fR\fIstring\fR 4 .IX Item "digest:string" این گزینه معادل گزینهٔ \fB\-digest\fR است. .IP \fBcipher:\fR\fIstring\fR 4 .IX Item "cipher:string" این گزینه معادل گزینهٔ \fB\-cipher\fR است. .RE .RS 4 .RE .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 \fImac_name\fR 4 .IX Item "mac_name" نام یک الگوریتم MAC پشتیبانی‌شده را که مورد استفاده قرار می‌گیرد، تعیین می‌کند. برای مشاهده فهرست MACهای پشتیبانی‌شده از دستور \f(CW\*(C`openssl list \-mac\-algorithms\*(C'\fR استفاده کنید. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" برای ایجاد یک MAC با الگوریتم HMAC\-SHA1 کدگذاری‌شده به صورت هگزادسیمال از یک فایل و نوشتن آن در خروجی استاندارد (stdout): .PP .Vb 3 \& openssl mac \-digest SHA1 \e \& \-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 \e \& \-in msg.bin HMAC .Ve .PP برای ایجاد یک MAC با الگوریتم SipHash از یک فایل همراه با خروجی به صورت فایل باینری: .PP .Vb 2 \& openssl mac \-macopt hexkey:000102030405060708090A0B0C0D0E0F \e \& \-in msg.bin \-out out.bin \-binary SipHash .Ve .PP برای ایجاد یک MAC با الگوریتم CMAC\-AES\-128\-CBC کدگذاری‌شده به صورت هگزادسیمال از یک فایل: .PP .Vb 3 \& openssl mac \-cipher AES\-128\-CBC \e \& \-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B \e \& \-in msg.bin CMAC .Ve .PP برای ایجاد یک MAC با الگوریتم KMAC128 کدگذاری‌شده به صورت هگزادسیمال از یک فایل با رشته سفارشی‌سازی \&\*(AqTag\*(Aq و طول خروجی ۱۶: .PP .Vb 2 \& openssl mac \-macopt custom:Tag \-macopt hexkey:40414243444546 \e \& \-macopt size:16 \-in msg.bin KMAC128 .Ve .PP برای ایجاد یک GMAC\-AES\-128\-GCM کدگذاری‌شده به صورت هگزادسیمال همراه با یک IV از یک فایل: .PP .Vb 2 \& openssl mac \-cipher AES\-128\-GCM \-macopt hexiv:E0E00F19FED7BA0136A797F3 \e \& \-macopt hexkey:77A77FAF290C1FA30C683DF16BA7A77B \-in msg.bin GMAC .Ve .SH "نکات (NOTES)" .IX Header "NOTES" سازوکارهای MAC موجود به گزینه‌هایی که هنگام ساخت OpenSSL استفاده شده‌اند بستگی دارد. برای فهرست کردن آن‌ها از دستور \f(CW\*(C`openssl list \-mac\-algorithms\*(C'\fR استفاده کنید. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBopenssl\fR\|(1), \&\fBEVP_MAC\fR\|(3), \&\fBEVP_MAC\-CMAC\fR\|(7), \&\fBEVP_MAC\-GMAC\fR\|(7), \&\fBEVP_MAC\-HMAC\fR\|(7), \&\fBEVP_MAC\-KMAC\fR\|(7), \&\fBEVP_MAC\-Siphash\fR\|(7), \&\fBEVP_MAC\-Poly1305\fR\|(7) .SH "حق نشر (COPYRIGHT)" .IX Header "COPYRIGHT" Copyright 2018\-2024 The OpenSSL Project Authors. All Rights Reserved. .PP تحت مجوز آپاچی نسخه ۲.۰ («مجوز») منتشر شده است. شما نمی‌توانید از این فایل جز در انطباق با این مجوز استفاده کنید. می‌توانید یک نسخه از آن را در فایل LICENSE در توزیع منبع یا در دریافت کنید.