JOSE-JWK-GEN(1)   JOSE-JWK-GEN(1)

jose-jwk-gen - ایجاد کلیدهای رمزنگاری JWK جدید

jose jwk gen -i JWK [-o JWK]

دستور jose jwk gen یک کلید از یک یا چند الگوی JWK (یا JWKSet) ایجاد می‌کند. اگر یک الگوی تکی به عنوان ورودی داده شود، یک JWK تکی در خروجی تولید خواهد شد. با این حال، اگر چندین الگو به عنوان ورودی داده شوند، یک JWKSet تکی حاوی تمام کلیدها در خروجی تولید خواهد شد.

بهترین راه برای ایجاد کلید، مشخص کردن الگوریتم مورد استفاده در ویژگی "alg" از الگوی JWK است. این روش ترجیح داده می‌شود زیرا هنگام ایجاد کلید از روی یک الگوریتم، پارامتر مناسب "key_ops" به طور خودکار صادر می‌شود. علاوه بر این، داشتن یک JWK با الگوریتم از پیش مشخص‌شده به استنتاج الگوریتم هنگام رمزگذاری یا امضا کمک می‌کند.

به عنوان روش دیگر، می‌توانید با تعیین ویژگی نوع کلید ("kty") در JWK به همراه پارامتر تولید مخصوص آن نوع، یک کلید ایجاد کنید. برای مشاهده نحوه انجام این کار برای هر نوع کلید، مثال‌های زیر را ببینید. اگر پارامتر تولید مخصوص نوع غیر استاندارد باشد (برای مثال: "bytes" و "bits")، از خروجی حذف خواهد شد.

•-i JSON, --input=JSON : تجزیه الگوی JWK(Set) از JSON
•-i FILE, --input=FILE : خواندن الگوی JWK(Set) از FILE
•-i -, --input=- : خواندن الگوی JWK(Set) از ورودی استاندارد
•-o FILE, --output=FILE : نوشتن JWK(Set) در FILE
•-o -, --output=- : نوشتن JWK(Set) در خروجی استاندارد
•-s, --set : همیشه خروجی را در قالب JWKSet تولید می‌کند

ایجاد سه کلید که هر کدام یک الگوریتم متفاوت را هدف قرار می‌دهند:

$ jose jwk gen -i '{"alg":"HS256"}' -o oct.jwk
$ jose jwk gen -i '{"alg":"RS256"}' -o rsa.jwk
$ jose jwk gen -i '{"alg":"ES256"}' -o ec.jwk

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

$ jose jwk gen -i '{"kty":"oct","bytes":32}' -o oct.jwk
$ jose jwk gen -i '{"kty":"RSA","bits":4096}' -o rsa.jwk
$ jose jwk gen -i '{"kty":"EC","crv":"P-256"}' -o ec.jwk

ایجاد همزمان چندین کلید با استفاده از یک الگوی JWKSet:

$ jose jwk gen \
  -i '{"keys":[{"alg":"HS256"},{"alg":"ES256"}]}' \
  -o keys.jwkset

ایجاد همزمان چندین کلید با استفاده از چندین الگوی JWK:

$ jose jwk gen \
  -i '{"alg":"HS256"}' \
  -i '{"alg":"ES256"}' \
  -o keys.jwkset

Nathaniel McCallum <npmccallum@redhat.com>

jose-alg(1), jose-jwe-dec(1), jose-jwe-enc(1), jose-jwk-exc(1), jose-jwk-pub(1), jose-jwk-thp(1), jose-jwk-use(1), jose-jws-sig(1), jose-jws-ver(1)

06/09/2026