.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH SIGN-EFI-SIG-LIST "1" "January 2026" "sign-efi-sig-list 1.9.2" "User Commands" .SH "نام (NAME)" sign-efi-sig-list \- ابزار امضای متغیرهای امن به صورت فهرست‌های امضای EFI .SH "خلاصه دستور (SYNOPSIS)" .B sign-efi-sig-list [\fI\,-r\/\fR] [\fI\,-m\/\fR] [\fI\,-a\/\fR] [\fI\,-g \/\fR] [\fI\,-o\/\fR] [\fI\,-t \/\fR] [\fI\,-i \/\fR] [\fI\,-c \/\fR] [\fI\,-k \/\fR] [\fI\,-e \/\fR] \fI\, \/\fR .SH "توضیحات (DESCRIPTION)" تولید یک فایل خروجی همراه با هدر احراز هویت جهت به‌روزرسانی مستقیم متغیرهای امن (secure variables). این خروجی می‌تواند مستقیماً با کلیدهای معمول امضا شود یا برای امضای خارجی با استفاده از گزینه‌های .B \-o و .B \-i تفکیک گردد. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-r\fR گواهی به جای x509 از نوع rsa2048 است [پیاده‌سازی نشده] .TP \fB\-m\fR استفاده از شمارش یکنواخت (monotonic count) به جای برچسب زمانی [پیاده‌سازی نشده] .TP \fB\-a\fR آماده‌سازی متغیر برای APPEND_WRITE به جای جایگزینی کامل .TP \fB\-o\fR امضا نکردن، بلکه خروجی دادن فایلی از بسته دقیقی که باید امضا شود .TP \fB\-t\fR استفاده از به عنوان برچسب زمانی به‌روزرسانی زمان‌دار متغیر. در صورت عدم تعیین، برچسب زمانی از ساعت سیستم گرفته خواهد شد. توجه داشته باشید که هنگام انجام امضای مجزا (detached signing) باید الزاماً از این گزینه استفاده کنید؛ در غیر این صورت به دلیل عدم تطابق برچسب‌های زمانی، امضا نامعتبر خواهد بود. .TP \fB\-i\fR دریافت یک امضای مجزا (در قالب PEM) از بسته تولیدشده توسط گزینه .B \-o و تکمیل ساخت فایل به‌روزرسانی .TP \fB\-g\fR استفاده از به عنوان شناسه یکتای مالک امضا (GUID) .TP \fB\-c\fR فایل حاوی گواهی امضا در قالب PEM است .TP \fB\-k\fR فایل حاوی کلید اختصاصی برای در قالب PEM است .TP \fB\-e\fR استفاده از موتور openssl با نام برای کلید خصوصی .SH "مثال‌ها (EXAMPLES)" .PP برای امضای یک به‌روزرسانی افزایشی ساده روی db که به عنوان یک فهرست امضای EFI در DB.esl آماده شده است و تولید خروجی نتیجه همراه با هدر احراز هویت در DB.auth: .PP .nf sign-efi-sig-list -a -c KEK.crt -k KEK.key db DB.esl DB.auth .fi .PP برای انجام امضای مجزا به همان روش: .PP .nf sign-efi-sig-list -a -t 'Jul 21 09:39:37 BST 2012' -o db DB.esl DB.forsig .fi .PP اکنون فایل DB.forsig را با روش استاندارد openssl امضا کنید. توجه داشته باشید که استانداردها به الگوریتم امضای sha256 نیاز دارند: .PP .nf openssl smime -sign -binary -in DB.forsig -out DB.signed -signer KEK.crt -inkey KEK.key -outform DER -md sha256 .fi .PP این دستور یک امضای مجزای PKCS7 در DB.signed تولید می‌کند. حال این فایل را با یادآوری حفظ همان برچسب زمانی (و سوییچ .BR \-a ) مجدداً به برنامه بدهید: .PP .nf sign-efi-sig-list -a -i DB.signed -t 'Jul 21 09:39:37 BST 2012' db DB.auth .fi .PP برای حذف یک کلید، کافی است یک فایل فهرست امضای EFI خالی را امضا کنید؛ بنابراین برای تولید یک به‌روزرسانی متغیر که PK را حذف می‌کند: .PP .nf > null.esl .fi .PP و سپس آن را به روش استاندارد امضا کنید (نباید یک به‌روزرسانی از نوع نوشتن افزایشی باشد): .PP .nf sign-efi-sig-list -c PK.crt -k PK.key PK null.esl PK.auth .fi .PP هنگامی که فایل .auth به پلتفرم UEFI منتقل شد، می‌توانید از برنامه UpdateVars.efi برای اعمال آن استفاده کنید: .PP .nf UpdateVars [-a] db DB.auth .fi .PP که در آن در صورتی که فایل DB.auth به عنوان یک به‌روزرسانی نوشتن افزایشی (append write) ایجاد شده باشد سوییچ .B \-a باید درج شود، و اگر متغیر جایگزین می‌شود باید حذف گردد. .SH "همچنین ببینید (SEE ALSO)" برای جزئیات مربوط به نحوه تولید فهرست‌های امضای EFI، به .BR cert-to-efi-sig-list (1) مراجعه کنید.