swtpm_localca(8) دستورات مدیریت سیستم swtpm_localca(8)

swtpm_localca - مرجع صدور گواهی محلی برای ایجاد گواهی‌های EK و پلتفرم برای swtpm

swtpm_localca [OPTIONS]

swtpm_localca ابزاری برای ایجاد کلید تایید TPM (یا همان Endorsement Key / EK) و گواهی‌های پلتفرم بر روی سیستم میزبان است. این ابزار برای ایجاد گواهی‌ها از برنامه swtpm_cert استفاده می‌کند.

این برنامه معمولاً توسط برنامه swtpm_setup فراخوانی می‌شود؛ برنامه‌ای که از فایل پیکربندی /etc/swtpm_setup.conf استفاده می‌کند، جایی که باید متغیری تعریف شده باشد که به این برنامه اشاره کند. این ابزار گزینه‌های خط فرمانی را پیاده‌سازی می‌کند که برنامه swtpm_setup برای ارسال پارامترهای لازم به آن، از آن‌ها استفاده می‌نماید.

اگر پیکربندی به یک کلید امضای ناموجود اشاره کند، swtpm_localca به صورت خودکار برای ایجاد کلید امضا و گواهی تلاش خواهد کرد. از آنجا که این گواهی باید توسط یک مرجع صدور گواهی (CA) امضا شود، یک مرجع صدور گواهی ریشه (Root CA) نیز ایجاد خواهد شد و این گواهی را امضا خواهد کرد. کلید خصوصی و گواهی CA ریشه در همان دایرکتوری کلید امضا قرار می‌گیرند و به ترتیب دارای نام‌های swtpm-localca-rootca-privkey.pem و swtpm-localca-rootca-cert.pem خواهند بود. متغیر محیطی SWTPM_ROOTCA_PASSWORD می‌تواند برای تعیین گذرواژه کلید خصوصی CA ریشه تنظیم شود.

نکته: با توجه به محدودیت‌های ابزار certtool، گذرواژه‌های احتمالی مورد استفاده برای ایمن‌سازی کلید خصوصی CA ریشه و کلید خصوصی CA واسط باید از طریق خط فرمان ارسال شوند و بنابراین برای سایر کاربران سیستم قابل مشاهده خواهند بود. اگر نگران این موضوع هستید، باید CAها را در جای دیگری ایجاد کرده و آن‌ها را به سیستم مقصد کپی کنید.

گزینه‌های زیر پشتیبانی می‌شوند:

این پارامتر نوع گواهی مورد نظر برای ایجاد را مشخص می‌کند. پارامتر type می‌تواند یکی از مقادیر زیر باشد: ek یا platform.
این پارامتر دایرکتوری محل ذخیره گواهی را مشخص می‌کند. گواهی EK در این دایرکتوری تحت نام ek.cert و گواهی پلتفرم تحت نام platform.cert ذخیره می‌شود.
این پارامتر مدولوس کلید عمومی مربوط به کلید تایید (EK) را مشخص می‌کند. کلید عمومی به صورت دنباله‌ای از ارقام هگزادسیمال (hex) اسکی (ASCII) ارائه می‌شود.

گزینه --key یک نام مستعار برای --ek است و در صورتی باید استفاده شود که پارامترهای کلید برای کلیدی غیر از کلید تایید ارسال شوند.

در صورتی که از کلیدهای رمزنگاری منحنی بیضوی (ECC) استفاده شود، پارامتر باید قالبی به صورت --ek x=<hex digits>;,y=<hex digits>,id=<curve id> داشته باشد. بخش id=<curve id> اختیاری است و تنها برای منحنی‌های ECC غیر از secp256r1 ضرورت دارد.

این پارامتر شناسه ماشین مجازی (VM) را مشخص می‌کند که گواهی باید برای آن ایجاد شود.
فایل لاگ برای ثبت خروجی در آن؛ به صورت پیش‌فرض، ثبت وقایع در stdout و stderr روی کنسول انجام می‌شود.
فایل پیکربندی مورد استفاده. در صورت تعیین نشدن، فایل پیکربندی پیش‌فرض /etc/swtpm-localca.conf استفاده خواهد شد.
فایل گزینه‌های مورد استفاده. در صورت تعیین نشدن، فایل گزینه‌های پیش‌فرض /etc/swtpm-localca.options استفاده خواهد شد.
پارامترهای مشخصات TPM که مشخصات فنی پیاده‌سازی‌شده در TPM را توصیف می‌کنند. این پارامترها برای ایجاد گواهی EK به برنامه swtpm_cert ارسال خواهند شد.
ایجاد گواهی‌های سازگار با TPM 2.
ایجاد یک EK که برای امضا نیز قابل استفاده باشد. بدون این گزینه، کلید EK تنها برای رمزنگاری کلید (key encipherment) قابل استفاده است. این گزینه به --tpm2 نیاز دارد.
اگر --allow-signing مشخص شده باشد و بخواهید کلید EK برای رمزنگاری کلید نیز قابل استفاده باشد، باید این گزینه ارسال شود. در غیر این صورت، رمزنگاری کلید حالت پیش‌فرض است. این گزینه به --tpm2 نیاز دارد.

swtpm-localca.conf, swtpm-localca.options, swtpm_setup, swtpm_setup.conf

گزارش اشکالات به Stefan Berger <stefanb@linux.vnet.ibm.com>

2026-03-26 swtpm