1JOSE-JWK-GEN(1)                                                JOSE-JWK-GEN(1)
2
3
4

NAME

6       jose-jwk-gen - Creates a random JWK for each input JWK template
7

SYNOPSIS

9       jose jwk gen -i JWK [-o JWK]
10

OVERVIEW

12       The jose jwk gen command generates a key from one or more JWK(Set)
13       templates. If a single template is given as input, a single JWK will be
14       output. However, if multiple templates are given as input, a single
15       JWKSet will be output containing all the keys.
16
17       The best way to generate a key is to specify the algorithm it will be
18       used with in the "alg" property of the JWK template. This method should
19       be preferred since, when generating from an algorithm, an appropriate
20       "key_ops" parameter will be emitted automatically. Further, having a
21       JWK with the algorithm already specified will assist algorithm
22       inference when encrypting or signing.
23
24       Alternatively, you can generate a key by specifying its key type
25       ("kty") JWK property, along with the required type-specific generation
26       parameter. See the examples below for how to do this for each key type.
27       If the type-specific generation parameter is non-standard (for example:
28       "bytes" and "bits"), it will be removed excluded from the output.
29

OPTIONS

31-i JSON, --input=JSON : Parse JWK(Set) template from JSON
32
33-i FILE, --input=FILE : Read JWK(Set) template from FILE
34
35-i -, --input=- : Read JWK(Set) template from standard input
36
37-o FILE, --output=FILE : Write JWK(Set) to FILE
38
39-o -, --output=- : Write JWK(Set) to standard input
40
41-s, --set : Always output a JWKSet
42

EXAMPLES

44       Generate three keys, each targeting a different algorithm:
45
46           $ jose jwk gen -i '{"alg":"HS256"}' -o oct.jwk
47           $ jose jwk gen -i '{"alg":"RS256"}' -o rsa.jwk
48           $ jose jwk gen -i '{"alg":"ES256"}' -o ec.jwk
49
50       Generate three keys using key parameters rather than algorithms:
51
52           $ jose jwk gen -i '{"kty":"oct","bytes":32}' -o oct.jwk
53           $ jose jwk gen -i '{"kty":"RSA","bits":4096}' -o rsa.jwk
54           $ jose jwk gen -i '{"kty":"EC","crv":"P-256"}' -o ec.jwk
55
56       Create multiple keys at once using a JWKSet template:
57
58           $ jose jwk gen \
59             -i '{"keys":[{"alg":"HS256"},{"alg":"ES256"}]}' \
60             -o keys.jwkset
61
62       Create multiple keys at once using multiple JWK templates:
63
64           $ jose jwk gen \
65             -i '{"alg":"HS256"}' \
66             -i '{"alg":"ES256"}' \
67             -o keys.jwkset
68

AUTHOR

70       Nathaniel McCallum <npmccallum@redhat.com>
71

SEE ALSO

73       jose-alg(1), jose-jwe-dec(1), jose-jwe-enc(1), jose-jwk-exc(1),
74       jose-jwk-pub(1), jose-jwk-thp(1), jose-jwk-use(1), jose-jws-sig(1),
75       jose-jws-ver(1),
76
77
78
79                                  07/20/2023                   JOSE-JWK-GEN(1)
Impressum