JOSE-JWK-EXC(1)   JOSE-JWK-EXC(1)

jose-jwk-exc - انجام تبادل کلید با استفاده از دو کلید ورودی

jose jwk exc [-i JWK] -l JWK -r JWK [-o JWK]

دستور jose jwk exc یک تبادل کلید را با استفاده از دو کلید ورودی انجام می‌دهد و نتیجه تبادل را به عنوان خروجی ارائه می‌کند. کاربر می‌تواند یک قالب JWK را به عنوان ورودی مشخص کند و ویژگی‌های مشخص‌شده بدون تغییر در JWK خروجی ظاهر خواهند شد.

تبادل کلید به دو کلید نیاز دارد:

1.کلید محلی، که معمولاً حاوی محتوای کلید خصوصی است.
2.کلید راه دور، که معمولاً حاوی محتوای کلید عمومی است.

الگوریتم تبادل از ورودی‌ها استنتاج می‌شود.

الگوریتم ECDH یک ضرب استاندارد خم بیضوی را انجام می‌دهد به‌طوری که مقدار عمومی \p rem در مقدار خصوصی \p ضرب می‌شود.

الگوریتم ECMR دارای سه حالت کاری است. در صورتی که کلید محلی دارای یک کلید خصوصی (ویژگی "d") باشد، عملکرد آن دقیقاً مانند ECDH خواهد بود. اگر کلید محلی فاقد کلید خصوصی باشد و کلید راه دور دارای کلید خصوصی باشد، جمع خم بیضوی روی دو مقدار انجام می‌شود. در غیر این صورت، اگر نه کلید محلی و نه کلید راه دور دارای کلید خصوصی نباشند، کلید راه دور با استفاده از تفریق خم بیضوی از کلید محلی کم می‌شود. هنگام استفاده از ECMR، حتماً محتوای ورودی‌های خود را اعتبارسنجی کنید تا از اجرای عملیات نادرست جلوگیری شود!

•-i JSON, --input=JSON : تجزیه قالب JWK از JSON
•-i FILE, --input=FILE : خواندن قالب JWK از FILE
•-i -, --input=- : خواندن قالب JWK از ورودی استاندارد
•-o FILE, --output=FILE : نوشتن JWK(Set) در FILE
•-o -, --output=- : نوشتن JWK(Set) در ورودی استاندارد
•-l FILE, --local=FILE : خواندن JWK محلی از FILE
•-l -, --local=- : خواندن JWK محلی از ورودی استاندارد
•-r FILE, --remote=FILE : خواندن JWK راه دور از FILE
•-r -, --remote=- : خواندن JWK راه دور از ورودی استاندارد

انجام یک تبادل کلید:

$ jose jwk gen -i '{"alg":"ECDH"}' -o local.jwk
$ jose jwk gen -i '{"alg":"ECDH"}' | jose jwk pub -i- -o remote.jwk
$ jose jwk exc -l local.jwk -r remote.jwk -o exchanged.jwk

Nathaniel McCallum <npmccallum@redhat.com>

jose-alg(1), jose-jwk-exc(1), jose-jwk-gen(1), jose-jwk-pub(1)

06/09/2026