RPMSIGN(1) General Commands Manual RPMSIGN(1) نام (NAME) rpmsign - امضای بسته‌های RPM خلاصه دستور (SYNOPSIS) rpmsign {--addsign|--resign} [options] [sign-options] PACKAGE_FILE ... rpmsign --delsign [options] PACKAGE_FILE ... rpmsign --delfilesign [options] PACKAGE_FILE ... توضیحات (DESCRIPTION) دستور rpmsign برای دستکاری و مدیریت امضاهای دیجیتال OpenPGP بر روی فایل‌های بستهٔ rpm به کار می‌رود. برای ایجاد یک امضا، rpmsign باید مجموع مقابله‌ای (checksum) بسته را تأیید کند. در نتیجه، بسته‌های V4 با مجموع مقابله‌ای MD5/SHA1 نمی‌توانند در حالت FIPS امضا شوند. عملیات‌ها (OPERATIONS) --addsign تولید و درج یک امضای OpenPGP جدید برای هر PACKAGE_FILE مشخص‌شده، مگر اینکه امضایی با پارامترهای یکسان از قبل وجود داشته باشد که در این صورت هیچ اقدامی انجام نمی‌شود. تعداد دلخواهی از امضاهای V6 را می‌توان اضافه کرد. --resign یک امضای OpenPGP جدید برای هر PACKAGE_FILE تولید و درج می‌کند، و جایگزین هرگونه امضای قبلی می‌شود. --delsign حذف تمامی امضاهای OpenPGP از هر PACKAGE_FILE بستهٔ داده‌شده. --delfilesign حذف تمامی امضاهای فایل IMA و fsverity از هر PACKAGE_FILE بستهٔ داده‌شده. آرگومان‌ها (ARGUMENTS) PACKAGE_FILE یک فایل بستهٔ rpm. گزینه‌ها (OPTIONS) برای مشاهدهٔ گزینه‌های مشترک بین تمامی برنامه‌های اجرایی rpm، به rpm- common(8) مراجعه کنید. گزینه‌های امضا (SIGN OPTIONS) --certpath CERT همراه با --signverity استفاده می‌شود؛ استفاده از گواهی امضای فایل CERT. --fskpath KEY همراه با --signfiles استفاده می‌شود؛ استفاده از کلید امضای فایل KEY. --key-id KEYID استفاده از کلید KEYID برای امضا کردن. پیکربندی %_openpgp_sign_id را لغو و بازنویسی می‌کند. --rpmv3 درخواست افزودن امضای سرایند+بارمحتوا (header+payload) نسخهٔ RPM V3 بر روی بسته‌های V4. این امضاها پرهزینه و بار اضافی زائدی روی بسته‌هایی هستند که در آن‌ها چکیدهٔ بارمحتوای مجزا وجود دارد (بسته‌های ساخته‌شده با rpm >= 4.14). دستور Rpmsign نیاز به امضاهای V3 را به‌طور خودکار تشخیص می‌دهد، اما در صورتی که بسته‌ها باید برای نسخه‌های rpm < 4.14 یا دیگر دلایل تعامل‌پذیری کاملاً قابل اعتبارسنجی باشند، می‌توان از این گزینه برای درخواست ایجاد آن‌ها استفاده کرد. هنگام امضای بسته‌های V6 هیچ اثری ندارد. --rpmv4 درخواست افزودن امضای سرایند RPM V4 بر روی بسته‌های V6. برای این که امضای بسته‌های V6 توسط نسخه‌های rpm 4.x قابل اعتبارسنجی باشند، مفید است. امضاهای سازگاری V4 تنها زمانی اضافه می‌شوند که الگوریتم امضا یکی از الگوریتم‌های شناخته‌شده برای V4 باشد: RSA،‏ EcDSA،‏ EdDSA (و DSA اولیه). تنها یک امضای V4 می‌تواند در یک بسته وجود داشته باشد، بنابراین این گزینه فقط در اولین اجرای --addsign با یک الگوریتم سازگار با V4 اعمال شده و در غیر این صورت نادیده گرفته می‌شود. هنگام امضای بسته‌های V4 هیچ اثری ندارد. --rpmv6 درخواست افزودن امضای سرایند RPM V6 بر روی بسته‌های V4. این دستور عموماً همیشه موفقیت‌آمیز است زیرا می‌تواند تعداد دلخواهی از امضاهای V6 بر روی یک بسته وجود داشته باشد. امضاهای سازگاری V3/V4 با استفاده از همان منطق --rpmv4 بر روی یک بستهٔ V6 اضافه می‌شوند. هنگام امضای بسته‌های V6 هیچ اثری ندارد. --signfiles امضای فایل‌های بسته. کلید امضای فایل (کلید خصوصی RSA) باید پیش از امضای بسته تنظیم شده باشد؛ این کلید را می‌توان در خط فرمان با --fskpath یا ماکروی %_file_signing_key پیکربندی کرد. --signverity امضای فایل‌های بسته با امضاهای fsverity. کلید امضای فایل (کلید خصوصی RSA) و گواهی امضا باید پیش از امضای بسته تنظیم شده باشند. کلید را می‌توان در خط فرمان با --fskpath یا ماکروی %_file_signing_key، و گواهی را می‌توان در خط فرمان با --certpath یا ماکروی %_file_signing_cert پیکربندی نمود. --verityalgo ALG همراه با --signverity برای تعیین الگوریتم امضا استفاده می‌شود. الگوریتم‌های sha256 و sha512 پشتیبانی می‌شوند، که در صورت مشخص نشدن این آرگومان، sha256 پیش‌فرض است. این مورد را می‌توان با ماکروی %_verity_algorithm نیز مشخص کرد. پیکربندی (CONFIGURATION) به منظور امضای بسته‌ها، باید جفت‌کلید OpenPGP خود (معروف به گواهی) را ایجاد کرده و rpm(8) را برای استفاده از آن پیکربندی کنید. ماکروهای زیر در دسترس هستند: %_openpgp_sign_id اثرانگشت (fingerprint) یا keyid کلید امضا که باید استفاده شود. معمولاً این تنها پیکربندی مورد نیاز است. در صورت حذف، --key-id باید هنگام امضا صراحتاً مشخص شود. %_openpgp_sign پیاده‌سازی OpenPGP مورد استفاده برای امضا. مقادیر پشتیبانی‌شده عبارتند از "gpg" برای GnuPG (سنتی و پیش‌فرض) و "sq" برای Sequoia PGP. ماکروهای مختص هر پیاده‌سازی: %_gpg_path محل جاکلیدی (keyring) برنامهٔ GnuPG شما در صورتی که مسیر پیش‌فرض $GNUPGHOME نباشد. %_gpg_name ماکروی قدیمی برای پیکربندی شناسهٔ کاربری با GnuPG. به‌جای آن از ماکروی مستقل از پیاده‌سازی و بدون ابهام %_openpgp_sign_id استفاده کنید. %_sq_path محل پیکربندی Sequoia در صورتی که پیش‌فرض نباشد. مثال‌ها (EXAMPLES) مثال ۱. راه‌اندازی اولیه پیکربندی RPM برای امضای بسته‌ها با Sequoia PGP و یک کلید خاص از طریق افزودن محتویات زیر به فایل rpm-config(5) کاربر (معمولاً ~/.config/rpm/macros): %_openpgp_sign sq %_openpgp_sign_id 7B36C3EE0CCE86EDBC3EFF2685B274E29F798E08 مثال ۲. عملیات‌های پایه rpmsign --addsign hello-2.0-1.x64_rpm افزودن یک امضا به بستهٔ hello-2.0-1.x64_rpm. rpmsign --resign --key-id 771b18d3d7baa28734333c424344591e1964c5fc hello-2.0-1.x64_rpm جایگزینی تمامی امضاها در بستهٔ hello-2.0-1.x64_rpm با یک امضا با استفاده از کلید 771b18d3d7baa28734333c424344591e1964c5fc. rpmsign --delsign --delfilesign hello-2.0-1.x64_rpm حذف تمامی امضاها از بستهٔ hello-2.0-1.x64_rpm. وضعیت خروج (EXIT STATUS) در صورت موفقیت، مقدار 0 برگردانده می‌شود، و در غیر این صورت یک کد خطای غیرصفر بازگردانده خواهد شد. همچنین ببینید (SEE ALSO) popt(3)، rpm(8)، rpm-common(8)، rpmkeys(8)، rpmbuild(1) rpmsign --help - از آنجا که rpm از سفارشی‌سازی گزینه‌ها از طریق نام‌های مستعار popt پشتیبانی می‌کند، تضمین این که آنچه در دفترچه راهنما توضیح داده شده با آنچه در دسترس است مطابقت داشته باشد، غیرممکن است. http://www.rpm.org RPM 6.0.1 2026-03-06 RPMSIGN(1)