DNSSEC-KEYFROMLABEL(1) BIND 9 DNSSEC-KEYFROMLABEL(1)

dnssec-keyfromlabel - ابزار تولید کلید DNSSEC از برچسب سخت‌افزاری

dnssec-keyfromlabel {-l label} [-3] [-a algorithm] [-A date/offset] [-c class] [-D date/offset] [-D sync date/offset] [-E engine] [-f flag] [-G] [-I date/offset] [-i interval] [-k] [-K directory] [-L ttl] [-M tag_min:tag_max] [-n nametype] [-P date/offset] [-P sync date/offset] [-p protocol] [-R date/offset] [-S key] [-t type] [-v level] [-V] [-y] {name}

دستور dnssec-keyfromlabel یک جفت فایل کلید تولید می‌کند که به یک شیء کلید ذخیره‌شده در یک ماژول امنیتی سخت‌افزاری رمزنگاری (HSM) ارجاع می‌دهند. فایل کلید خصوصی می‌تواند برای امضای DNSSEC داده‌های ناحیه استفاده شود، درست مانند این‌که یک کلید امضای معمولی ایجادشده توسط dnssec-keygen <#std-iscman-dnssec-keygen> باشد؛ اما مادهٔ کلید درون HSM ذخیره شده و امضای واقعی در آنجا انجام می‌گیرد.

نام کلید (name) در خط فرمان مشخص می‌شود. این مقدار باید با نام ناحیه‌ای که کلید برای آن تولید می‌شود مطابقت داشته باشد.

این گزینه الگوریتم رمزنگاری را انتخاب می‌کند. مقدار algorithm باید یکی از مقادیر RSASHA1 (منسوخ‌شده)، NSEC3RSASHA1 (منسوخ‌شده)، RSASHA256، RSASHA512، ECDSAP256SHA256، ECDSAP384SHA384، ED25519 یا ED448 باشد.

این مقادیر به حروف کوچک و بزرگ حساس نیستند. در برخی موارد، نام‌های اختصاری مانند ECDSA256 برای ECDSAP256SHA256 و ECDSA384 برای ECDSAP384SHA384 پشتیبانی می‌شوند. اگر RSASHA1 (منسوخ‌شده) به همراه گزینهٔ -3 مشخص شود، به جای آن از NSEC3RSASHA1 (منسوخ‌شده) استفاده می‌شود.

این گزینه اجباری است، مگر هنگام استفاده از گزینهٔ -S که الگوریتم را از کلید پیشین کپی می‌کند.

تغییر یافته در نگارش 9.12.0: مقدار پیش‌فرض RSASHA1 (منسوخ‌شده) برای کلیدهای تازه تولیدشده حذف شد.

-3
این گزینه از الگوریتمی با قابلیت NSEC3 برای تولید کلید DNSSEC استفاده می‌کند. اگر این گزینه با الگوریتمی استفاده شود که هر دو نگارش NSEC و NSEC3 را دارد، نگارش NSEC3 به کار گرفته می‌شود؛ برای نمونه، dnssec-keygen -3a RSASHA1 الگوریتم NSEC3RSASHA1 (منسوخ‌شده) را تعیین می‌کند.
این گزینه سخت‌افزار رمزنگاری مورد استفاده را تعیین می‌کند.

هنگامی که BIND 9 با OpenSSL ساخته شده باشد، این مقدار باید روی شناسهٔ موتور OpenSSL که شتاب‌دهنده رمزنگاری یا ماژول سخت‌افزاری (معمولاً pkcs11) را هدایت می‌کند، تنظیم شود.

این گزینه برچسب جفت‌کلید را در سخت‌افزار رمزنگاری مشخص می‌کند.

هنگامی که BIND 9 با پشتیبانی PKCS#11 مبتنی بر OpenSSL ساخته شده باشد، این برچسب یک رشته دلخواه است که یک کلید مشخص را شناسایی می‌کند. این مقدار ممکن است با یک نام موتور اختیاری OpenSSL و به دنبال آن یک دونقطه آغاز شود، مانند pkcs11:keylabel.

این گزینه نوع مالک کلید را تعیین می‌کند. مقدار nametype باید یکی از مقادیر ZONE (برای یک کلید ناحیه DNSSEC به صورت KEY/DNSKEY)، HOST یا ENTITY (برای کلید مرتبط با یک میزبان به صورت KEY)، USER (برای کلید مرتبط با یک کاربر به صورت KEY)، یا OTHER (به صورت DNSKEY) باشد. این مقادیر به حروف کوچک و بزرگ حساس نیستند.
این گزینه حالت سازگاری را فعال می‌کند که یک کلید با ساختار قدیمی، بدون هیچ‌گونه فرا‌داده‌ای تولید می‌کند. به طور پیش‌فرض، dnssec-keyfromlabel تاریخ ایجاد کلید را در فراداده ذخیره‌شده به همراه کلید خصوصی لحاظ می‌کند؛ تاریخ‌های دیگر مانند تاریخ انتشار، تاریخ فعال‌سازی و غیره نیز ممکن است در آنجا تنظیم شوند. کلیدهایی که شامل این داده‌ها هستند ممکن است با نسخه‌های قدیمی‌تر BIND ناسازگار باشند؛ گزینهٔ -C از درج آنها جلوگیری می‌کند.
این گزینه نشان می‌دهد که رکورد DNS حاوی کلید باید دارای کلاس مشخص‌شده باشد. در صورت عدم تعیین، از کلاس IN استفاده می‌شود.
این گزینه پرچم مشخص‌شده را در فیلد flag رکورد KEY/DNSKEY تنظیم می‌کند. تنها پرچم‌های شناخته‌شده KSK (Key-Signing Key) و REVOKE هستند.
این گزینه یک کلید تولید می‌کند، اما آن را منتشر نکرده و با آن امضا انجام نمی‌دهد. این گزینه با -P و -A ناسازگار است.
این گزینه خلاصه کوتاهی از گزینه‌ها و آرگومان‌های dnssec-keyfromlabel را چاپ می‌کند.
این گزینه دایرکتوری محل ذخیره فایل‌های کلید را تعیین می‌کند.
این گزینه به جای رکوردهای DNSKEY، رکوردهای KEY تولید می‌کند.
این گزینه مقدار TTL پیش‌فرض را برای استفاده در این کلید هنگامی که به یک RR از نوع DNSKEY تبدیل می‌شود تعیین می‌کند. این همان TTL است که هنگام وارد کردن کلید به یک ناحیه استفاده می‌شود، مگر اینکه از قبل یک DNSKEY RRset در جای خود وجود داشته باشد که در این صورت TTL موجود اولویت خواهد داشت. تنظیم TTL پیش‌فرض روی 0 یا none آن را حذف می‌کند.
این گزینه محدوده مقادیر تگ کلید (key tag) را که dnssec-keyfromlabel خواهد پذیرفت تعیین می‌کند. اگر تگ کلیدِ کلید جدید یا تگ کلید نسخه باطل‌شده کلید جدید خارج از این محدوده باشد، کلید جدید رد خواهد شد. این گزینه برای سناریوهای چندامضاکننده (multi-signer) طراحی شده است، جایی که به هر کارور یک محدوده از تگ‌های کلید داده می‌شود تا از تداخل بین کارورهای مختلف جلوگیری شود. مقادیر معتبر برای tag_min و tag_max در بازه [0..65535] قرار دارند. مقدار پیش‌فرض اجازه می‌دهد همه مقادیر تگ کلید پذیرفته شوند.
این گزینه مقدار پروتکل را برای کلید تنظیم می‌کند. پروتکل عددی بین 0 تا 255 است. مقدار پیش‌فرض 3 (DNSSEC) است. سایر مقادیر ممکن برای این آرگومان در RFC 2535 https://datatracker.ietf.org/doc/html/rfc2535.html و اسناد پس از آن فهرست شده‌اند.
این گزینه کلید را به عنوان جانشین صریح یک کلید موجود تولید می‌کند. نام، الگوریتم، اندازه و نوع کلید مطابق با کلید پیشین تنظیم می‌شوند. تاریخ فعال‌سازی کلید جدید برابر با تاریخ غیرفعال‌سازی کلید موجود قرار می‌گیرد. تاریخ انتشار برابر با تاریخ فعال‌سازی منهای فاصله پیش‌انتشار تنظیم می‌شود که پیش‌فرض آن ۳۰ روز است.
این گزینه نوع کلید را مشخص می‌کند. مقدار type باید یکی از مقادیر AUTHCONF، NOAUTHCONF، NOAUTH یا NOCONF باشد. مقدار پیش‌فرض AUTHCONF است. AUTH به قابلیت اصالت‌سنجی داده‌ها و CONF به قابلیت رمزگذاری داده‌ها اشاره دارد.
این گزینه سطح اشکال‌زدایی را تنظیم می‌کند.
این گزینه اطلاعات نگارش را چاپ می‌کند.
این گزینه اجازه می‌دهد فایل‌های کلید DNSSEC حتی در صورتی که در صورت ابطال هر یک از کلیدها شناسه کلید (key ID) با یک کلید موجود تداخل داشته باشد، تولید شوند. (فعال کردن این گزینه تنها زمانی ایمن است که نگهداری لنگر اعتماد RFC 5011 https://datatracker.ietf.org/doc/html/rfc5011.html برای هیچ‌یک از کلیدهای مربوطه استفاده نشود.)

تاریخ‌ها می‌توانند در قالب YYYYMMDD یا YYYYMMDDHHMMSS (که همان قالب استفاده‌شده در داخل فایل‌های کلید است)، یا 'Day Mon DD HH:MM:SS YYYY' (همان‌طور که توسط dnssec-settime -p چاپ می‌شود)، یا زمان مبدأ یونیکس (UNIX epoch time) (همان‌طور که توسط dnssec-settime -up چاپ می‌شود)، یا عبارت دقیق now مشخص شوند.

آرگومان می‌تواند با + یا - و یک انحراف زمانی (آفست) از زمان داده‌شده همراه باشد. عبارت دقیق now را می‌توان پیش از یک آفست حذف کرد. آفست می‌تواند با یکی از پسوندهای y، mo، w، d، h یا mi دنبال شود، تا به ترتیب بر حسب سال (تعریف‌شده به صورت ۳۶۵ روز ۲۴ ساعته، با نادیده گرفتن سال‌های کبیسه)، ماه (تعریف‌شده به صورت ۳۰ روز ۲۴ ساعته)، هفته، روز، ساعت یا دقیقه محاسبه شود. بدون پسوند، آفست بر حسب ثانیه محاسبه می‌شود.

برای جلوگیری صریح از تنظیم یک تاریخ، از none، never یا unset استفاده کنید.

تمامی این قالب‌ها به حروف کوچک و بزرگ حساس نیستند.

این گزینه تاریخی را که قرار است یک کلید در ناحیه منتشر شود، تنظیم می‌کند. پس از آن تاریخ، کلید در ناحیه قرار می‌گیرد اما برای امضای آن استفاده نمی‌شود. در صورت عدم تنظیم، و در صورتی که گزینهٔ -G استفاده نشده باشد، پیش‌فرض تاریخ جاری است.
این گزینه تاریخی را تعیین می‌کند که رکوردهای CDS و CDNSKEY منطبق با این کلید باید در ناحیه منتشر شوند.
این گزینه تاریخی را که کلید باید فعال شود، تنظیم می‌کند. پس از آن تاریخ، کلید در ناحیه گنجانده شده و برای امضای آن استفاده می‌شود. در صورت عدم تنظیم، و در صورتی که گزینهٔ -G استفاده نشده باشد، پیش‌فرض تاریخ جاری است.
این گزینه تاریخی را که کلید باید باطل شود، تنظیم می‌کند. پس از آن تاریخ، کلید به عنوان باطل‌شده علامت‌گذاری می‌شود. کلید در ناحیه قرار می‌گیرد و برای امضای آن استفاده می‌شود.
این گزینه تاریخی را که کلید باید بازنشسته شود، تنظیم می‌کند. پس از آن تاریخ، کلید همچنان در ناحیه گنجانده می‌شود، اما برای امضای آن استفاده نخواهد شد.
این گزینه تاریخی را که کلید باید حذف شود، تنظیم می‌کند. پس از آن تاریخ، کلید دیگر در ناحیه گنجانده نمی‌شود. (با این حال، ممکن است در مخزن کلید باقی بماند.)
این گزینه تاریخی را تعیین می‌کند که رکوردهای CDS و CDNSKEY منطبق با این کلید باید حذف شوند.
این گزینه فاصله زمانی پیش‌انتشار را برای یک کلید تعیین می‌کند. در صورت تنظیم، تاریخ‌های انتشار و فعال‌سازی باید حداقل به این میزان از یکدیگر فاصله داشته باشند. اگر تاریخ فعال‌سازی مشخص شده باشد اما تاریخ انتشار خیر، تاریخ انتشار به طور پیش‌فرض به این میزان پیش از تاریخ فعال‌سازی در نظر گرفته می‌شود؛ برعکس، اگر تاریخ انتشار مشخص شده باشد اما تاریخ فعال‌سازی خیر، فعال‌سازی به این میزان پس از انتشار تنظیم می‌شود.

اگر کلید به عنوان جانشین صریح یک کلید دیگر ایجاد شود، فاصله زمانی پیش‌انتشار پیش‌فرض ۳۰ روز است؛ در غیر این صورت صفر خواهد بود.

همانند آفست‌های تاریخ، اگر آرگومان با یکی از پسوندهای y، mo، w، d، h یا mi همراه باشد، این بازه به ترتیب بر حسب سال، ماه، هفته، روز، ساعت یا دقیقه اندازه‌گیری می‌شود. بدون پسوند، فاصله بر حسب ثانیه محاسبه می‌شود.

هنگامی که dnssec-keyfromlabel با موفقیت به پایان برسد، رشته‌ای به قالب Knnnn.+aaa+iiiii را در خروجی استاندارد چاپ می‌کند. این رشته، یک شناسه برای فایل‌های کلیدی است که تولید کرده است.

  • nnnn نام کلید است.
  • aaa نمایش عددی الگوریتم است.
  • iiiii شناسه کلید (یا ردپا / footprint) است.

دستور dnssec-keyfromlabel دو فایل با نام‌هایی بر اساس رشتهٔ چاپ‌شده ایجاد می‌کند. فایل Knnnn.+aaa+iiiii.key حاوی کلید عمومی و فایل Knnnn.+aaa+iiiii.private حاوی کلید خصوصی است.

فایل .key حاوی یک رکورد DNS KEY است که می‌تواند در یک فایل ناحیه درج شود (به طور مستقیم یا با یک دستور $INCLUDE).

فایل .private شامل فیلدهای وابسته به الگوریتم است. به دلایل امنیتی مشخص، این فایل فاقد مجوز دسترسی خواندن همگانی است.

dnssec-keygen(8) <#std-iscman-dnssec-keygen>, dnssec-signzone(8) <#std-iscman-dnssec-signzone>, BIND 9 Administrator Reference Manual, RFC 4034 https://datatracker.ietf.org/doc/html/rfc4034.html, RFC 7512 https://datatracker.ietf.org/doc/html/rfc7512.html.

Internet Systems Consortium

2026, Internet Systems Consortium

2026-08-19 9.20.27