CLEVIS-ENCRYPT-TANG(1)   CLEVIS-ENCRYPT-TANG(1)

clevis-encrypt-tang - رمزنگاری داده‌ها با استفاده از سرور کلید Tang

clevis encrypt tang CONFIG [-y] < PT > JWE

دستور clevis encrypt tang با استفاده از یک خط‌مشی سرور مقیدسازی Tang داده‌ها را رمزنگاری می‌کند. تنها آرگومان آن شیء پیکربندی JSON است.

ابزار Clevis پشتیبانی از سرور مقیدسازی شبکهٔ Tang را فراهم می‌کند. Tang جایگزینی سبک و بدون وضعیت (stateless) برای سیستم‌های امانت‌داری کلید (escrows) ارائه می‌دهد. رمزنگاری داده‌ها با استفاده از پین Tang به صورت زیر عمل می‌کند:

$ clevis encrypt tang '{"url":"http://tang.srv"}' < PT > JWE
The advertisement contains the following signing keys:
_OsIk0T-E2l6qjfdDiwVmidoZjA
Do you wish to trust these keys? [ynYN] y

برای رمزگشایی داده‌ها، کافی است آن را به دستور clevis decrypt ارسال کنید:

$ clevis decrypt < JWE > PT

همان‌طور که در بالا مشاهده می‌کنید، Tang از گردش کار «اعتماد در اولین استفاده» (trust-on-first-use) بهره می‌برد. اگر از قبل اثر انگشت (thumbprint) یک کلید مورد اعتماد را می‌دانید، می‌توانید آن را در زمان رمزنگاری در پیکربندی مشخص کنید:

$ cfg='{"url":"http://tang.srv","thp":"_OsIk0T-E2l6qjfdDiwVmidoZjA"}'
$ clevis encrypt tang "$cfg" < PT > JWE

به‌دست آوردن اثر انگشت یک کلید امضای مورد اعتماد آسان است. اگر به سرور Tang دسترسی دارید، کافی است دستور زیر را اجرا کنید:

$ tang-show-keys <PORT>

که در آن <PORT> پورتی است که سرور Tang روی آن گوش می‌دهد.

اگر tang-show-keys در دسترس نیست، اما به دایرکتوری پایگاه‌دادهٔ سرور Tang دسترسی دارید، می‌توانید در عوض این دستور را اجرا کنید:

$ jose jwk thp -i $DBDIR/$SIG.jwk

اگر اعلان (advertisement) سرور را از قبل به اشتراک بگذارید، Tang می‌تواند رمزنگاری را به‌طور کاملاً آفلاین نیز انجام دهد. می‌توانید اعلان را با یک دستور ساده دریافت کنید (فقط مراقب باشید که شبکه‌تان به خطر نیفتاده باشد!):

$ curl -f $URL/adv > adv.jws

پس از دریافت فایل اعلان، کافی است آن را ارائه دهید:

$ clevis encrypt tang '{"url":...,"adv":"adv.jws"}' < PT > JWE

این دستور از ویژگی‌های پیکربندی زیر استفاده می‌کند:

•url (رشته) : نشانی وب پایه (base URL) سرور Tang (الزامی)
•thp (رشته) : اثر انگشت (thumbprint) یک کلید امضای مورد اعتماد
•adv (رشته) : نام فایلی که حاوی یک اعلان مورد اعتماد است
•adv (شیء) : یک اعلان مورد اعتماد (JSON خام)

•-y : پاسخ خودکار مثبت (yes) به تمام پرسش‌ها. از این گزینه برای صرف‌نظر کردن از بررسی اعتماد به اعلان استفاده کنید. این مورد می‌تواند در استقرارهای خودکار مفید باشد:
$ clevis encrypt tang '{"url":...}' -y < PT > JWE

clevis-decrypt(1)

08/23/2026