Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JOSE-JWK-GEN(1) 						 JOSE-JWK-GEN(1)

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

SYNOPSIS
     jose jwk gen -i JWK [-o JWK]

OVERVIEW
     The  jose	jwk  gen  command generates a key from one or more JWK(Set) tem-
     plates. If a single template is given as input, a single JWK will	be  out-
     put.  However,  if  multiple  templates are given as input, a single JWKSet
     will be output containing all the keys.

     The best way to generate a key is to specify the algorithm it will be  used
     with  in the "alg" property of the JWK template. This method should be pre-
     ferred since, when generating from an algorithm, an  appropriate  "key_ops"
     parameter will be emitted automatically. Further, having a JWK with the al-
     gorithm  already  specified will assist algorithm inference when encrypting
     or signing.

     Alternatively, you can generate a key by specifying its  key  type  ("kty")
     JWK  property,  along with the required type-specific generation parameter.
     See the examples below for how to	do  this  for  each  key  type.  If  the
     type-specific  generation	parameter  is non-standard (for example: "bytes"
     and "bits"), it will be removed excluded from the output.

OPTIONS
     *	 -i JSON, --input=JSON : Parse JWK(Set) template from JSON

     *	 -i FILE, --input=FILE : Read JWK(Set) template from FILE

     *	 -i -, --input=- : Read JWK(Set) template from standard input

     *	 -o FILE, --output=FILE : Write JWK(Set) to FILE

     *	 -o -, --output=- : Write JWK(Set) to standard input

     *	 -s, --set : Always output a JWKSet

EXAMPLES
     Generate three keys, each targeting a different algorithm:

	 $ 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

     Generate three keys using key parameters rather than algorithms:

	 $ 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

     Create multiple keys at once using a JWKSet template:

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

     Create multiple keys at once using multiple JWK templates:

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

AUTHOR
     Nathaniel McCallum <npmccallum@redhat.com>

SEE ALSO
     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),

				   07/30/2026			 JOSE-JWK-GEN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=jose-jwk-gen&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help