| JOSE-JWS-SIG(1) | JOSE-JWS-SIG(1) |
نام (NAME)
jose-jws-sig - امضا کردن دادهها با استفاده از یک یا چند کلید JWK در فرمت JWS
خلاصه دستور (SYNOPSIS)
jose jws sig [-i JWS] [-I PAY] [-s SIG] -k JWK [-o JWS] [-O PAY] [-c]
نمای کلی (OVERVIEW)
دستور jose jws sig یک پیلود (بار داده) را با استفاده از یک یا چند کلید JWK امضا میکند. پیلود میتواند به صورت رمزگشاییشده (-I) یا تعبیهشده در یک JWS موجود (-i) ارائه شود.
با مشخص کردن گزینه -O میتوان یک JWS جداشده (detached) ایجاد کرد. در این حالت، پیلود رمزگشاییشده در خروجی مشخصشده نوشته میشود و درون JWS گنجانده نخواهد شد.
اگر تنها از یک کلید استفاده شود (-k)، میتوان JWS حاصل را با استفاده از گزینه -c در قالب سریالسازی فشرده JWS (JWS Compact Serialization) خروجی داد.
این دستور از یک رویکرد مبتنی بر الگو برای ساخت JWS استفاده میکند. شما میتوانید الگوهایی برای خود JWS (-i) یا برای شیء امضای JWS (-s) مشخص کنید. ویژگیهای مشخصشده در هر یک از این الگوها بدون تغییر در خروجی ظاهر میشوند. یک استثنا در این قاعده این است که هدر محافظتشده JWS (JWS Protected Header) باید به شکل رمزگشاییشده در الگوی شیء امضای JWS مشخص شود. این دستور به طور خودکار آن را به عنوان بخشی از فرایند امضا کدگذاری میکند.
اگر یک پارامتر هدر JOSE (از طریق گزینههای -i یا -s) مشخص کنید که بر ساخت تأثیر بگذارد، این دستور تلاش میکند بر اساس این پارامتر همانند یک پیکربندی رفتار کند. در حال حاضر، jose رفتار خود را برای پارامتر هدر JOSE با عنوان "alg" تغییر میدهد (به بخش 4.1.1 از RFC 7515 مراجعه کنید).
با این حال، نیازی به ارائه هیچ الگویی نیست: jose jws sig به طور خودکار پارامتر "alg" را با استنتاج الگوریتم مناسب از کلیدهای JWK ورودی پر میکند. بنابراین، گزینههای -i و -s معمولاً باید برای ارائه فرادادههای توسعهیافته استفاده شوند.
امکان مشخص کردن یک JWS موجود به عنوان الگوی ورودی JWS (-i) وجود دارد. این کار امکان افزودن امضاهای جدید به یک JWS موجود را فراهم میکند.
گزینهها (OPTIONS)
مثالها (EXAMPLES)
امضا کردن دادهها با یک کلید متقارن با استفاده از سریالسازی JSON در JWS:
$ jose jwk gen -i '{"alg":"HS256"}' -o key.jwk
$ jose jws sig -I msg.txt -k key.jwk -o msg.jws
امضا کردن دادهها با استفاده از سریالسازی فشرده JWS به صورت جداشده (detached):
$ jose jws sig -I msg.txt -k key.jwk -O /dev/null -c -o msg.jws
امضا کردن با دو کلید:
$ jose jwk gen -i '{"alg":"ES256"}' -o ec.jwk
$ jose jwk gen -i '{"alg":"RS256"}' -o rsa.jwk
$ jose jws sig -I msg.txt -k ec.jwk -k rsa.jwk -o msg.jws
نویسنده (AUTHOR)
Nathaniel McCallum <npmccallum@redhat.com>
همچنین ببینید (SEE ALSO)
| 06/09/2026 |