.\" $OpenBSD: signify.1,v 1.63 2026/03/11 02:27:20 deraadt Exp $ .\" .\"Copyright (c) 2013 Marc Espie .\"Copyright (c) 2013 Ted Unangst .\" .\"Permission to use, copy, modify, and distribute this software for any .\"purpose with or without fee is hereby granted, provided that the above .\"copyright notice and this permission notice appear in all copies. .\" .\"THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES .\"WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\"MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR .\"ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\"OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .Dd $Mdocdate: March 11 2026 $ .Dt SIGNIFY 1 .Os .Sh "نام (NAME)" .Nm signify .Nd امضا و اعتبارسنجی رمزنگارانهٔ فایل‌ها .Sh "خلاصه دستور (SYNOPSIS)" .Nm signify .Fl C .Op Fl q .Op Fl p Ar pubkey .Op Fl t Ar keytype .Fl x Ar sigfile .Op Ar .Nm signify .Fl G .Op Fl n .Op Fl c Ar comment .Fl p Ar pubkey .Fl s Ar seckey .Nm signify .Fl S .Op Fl enz .Op Fl x Ar sigfile .Fl s Ar seckey .Fl m Ar message .Nm signify .Fl V .Op Fl eqz .Op Fl p Ar pubkey .Op Fl t Ar keytype .Op Fl x Ar sigfile .Fl m Ar message .Sh "توضیحات (DESCRIPTION)" ابزار .Nm امضاهای رمزنگارانه را ایجاد و اعتبارسنجی می‌کند. یک امضا، یکپارچگی یک .Ar message را اعتبارسنجی می‌کند. حالت عملکرد با استفاده از گزینه‌های زیر انتخاب می‌شود: .Bl -tag -width Dsssigfile .It Fl C یک فهرست مجموع مقابله‌ای (checksum) امضاشده را اعتبارسنجی کرده و سپس مجموع مقابله‌ای هر فایل را بررسی می‌کند. اگر هیچ فایلی مشخص نشود، همهٔ آن‌ها بررسی می‌شوند. .Ar sigfile باید خروجی امضاشدهٔ .Xr sha256 1 باشد. .It Fl G یک جفت‌کلید جدید تولید می‌کند. نام کلیدها باید به‌ترتیب برای کلیدهای عمومی و مخفی از قرارداد .Pa keyname.pub و .Pa keyname.sec پیروی کند. .It Fl S فایل پیام مشخص‌شده را امضا کرده و یک امضا ایجاد می‌کند. .It Fl V تطابق پیام و امضا را اعتبارسنجی می‌کند. .El .Pp سایر گزینه‌ها به شرح زیر هستند: .Bl -tag -width Dsssignature .It Fl c Ar comment توضیحی (comment) را که باید در زمان تولید کلید اضافه شود مشخص می‌کند. .It Fl e هنگام امضا کردن، پیام را بعد از امضا جاسازی می‌کند. هنگام اعتبارسنجی، پیام را از امضا استخراج می‌کند. (این امر مستلزم آن است که امضا با استفاده از .Fl e ایجاد شده باشد و یک فایل پیام جدید در خروجی ایجاد می‌کند.) .It Fl m Ar message هنگام امضا کردن، فایلی است که حاوی پیام برای امضاست. هنگام اعتبارسنجی، فایلی است که حاوی پیام برای اعتبارسنجی است. هنگام اعتبارسنجی با .Fl e ، فایلی است که باید ایجاد شود. .It Fl n هنگام تولید یک جفت‌کلید، عبارت عبور درخواست نمی‌شود. در غیر این صورت، .Nm از کاربر برای محافظت از کلید مخفی، عبارت عبور درخواست خواهد کرد. هنگام امضا کردن با .Fl z ، یک برچسب زمانی صفر در سرآیندِ .Xr gzip 1 ذخیره می‌کند. .It Fl p Ar pubkey کلید عمومی تولیدشده توسط .Fl G که توسط .Fl V برای بررسی یک امضا استفاده می‌شود. .It Fl q حالت بی‌صدا. از نمایش خروجی‌های اطلاعاتی جلوگیری می‌کند. .It Fl s Ar seckey کلید مخفی (خصوصی) تولیدشده توسط .Fl G که توسط .Fl S برای امضای یک پیام استفاده می‌شود. .It Fl t Ar keytype هنگام استنتاج کلید صحیح برای بررسی یک امضا، اطمینان حاصل می‌کند که کلید واقعی با .Pa /etc/signify/*-keytype.pub مطابقت داشته باشد. .It Fl x Ar sigfile فایل امضا برای ایجاد یا اعتبارسنجی. پیش‌فرض .Ar message Ns .sig است. .It Fl z امضا و اعتبارسنجی آرشیوهای .Xr gzip 1 ، که در آن داده‌های امضا در سرآیندِ .Xr gzip 1 جاسازی می‌شوند. .El .Pp فایل‌های کلید و امضای ایجادشده توسط .Nm قالب یکسانی دارند. خط اول فایل یک توضیح متنی آزاد است که تا زمانی که از یک خط تجاوز نکند، می‌تواند ویرایش شود. توضیحات امضا بر اساس نام کلید مخفیِ مورداستفاده برای امضا تولید خواهند شد. سپس این توضیح می‌تواند به عنوان راهنمایی برای نام کلید عمومی هنگام اعتبارسنجی استفاده شود. خط دوم فایل، کلید یا امضای واقعی است که به‌صورت base64 کدگذاری شده است. .Sh "وضعیت خروج (EXIT STATUS)" .Ex -std signify ممکن است به یکی از دلایل زیر ناموفق باشد: .Pp .Bl -bullet -compact .It برخی از فایل‌های ضروری وجود ندارند. .It عبارت عبور واردشده نادرست است. .It فایل پیام آسیب دیده است و امضای آن مطابقت ندارد. .It فایل پیام بیش از حد بزرگ است. .El .Sh "مثال‌ها (EXAMPLES)" ایجاد یک جفت‌کلید جدید: .Dl $ signify -G -p newkey.pub -s newkey.sec .Pp امضای یک فایل، با تعیین نام امضا: .Dl $ signify -S -s key.sec -m message.txt -x msg.sig .Pp اعتبارسنجی یک امضا با استفاده از نام پیش‌فرض امضا: .Dl $ signify -V -p key.pub -m generalsorders.txt .Pp اعتبارسنجی یک دایرکتوری انتشار حاوی .Pa SHA256.sig و یک مجموعه کامل از فایل‌های انتشار: .Bd -literal -offset indent -compact $ signify -C -p /etc/signify/openbsd-80-base.pub -x SHA256.sig .Ed .Pp اعتبارسنجی یک bsd.rd پیش از ارتقا: .Bd -literal -offset indent -compact $ signify -C -p /etc/signify/openbsd-80-base.pub -x SHA256.sig bsd.rd .Ed .Pp امضای یک آرشیو gzip: .Bd -literal -offset indent -compact $ signify -Sz -s key-arc.sec -m in.tgz -x out.tgz .Ed .Pp اعتبارسنجی یک خط لوله gzip: .Bd -literal -offset indent -compact $ ftp url | signify -Vz -t arc | tar ztf - .Ed .Sh "همچنین ببینید (SEE ALSO)" .Xr gzip 1 , .Xr pkg_add 1 , .Xr sha256 1 , .Xr fw_update 8 , .Xr sysupgrade 8 .Sh "تاریخچه (HISTORY)" دستور .Nm اولین بار در .Ox 5.5 ظاهر شد. .Sh "نویسندگان (AUTHORS)" .An -nosplit .An Ted Unangst Aq Mt tedu@openbsd.org و .An Marc Espie Aq Mt espie@openbsd.org .