Provided by: jose_10-2build1_amd64 bug

NAME

       jose-jwe-enc - Encrypts plaintext using one or more JWK/password

SYNOPSIS

       jose jwe enc [-i JWE] -I PT -k JWK [-p] [-r RCP] [-o JWE] [-O CT] [-c]

OVERVIEW

       The  jose  jwe enc command encrypts data using one or more JWK (-k) or password (-p). When
       specifying more than one JWK or password, decryption will succeed  with  any  one  of  the
       provided keys.

       A  detached  JWE  can  be  created  by specifying the -O option. In this case, the decoded
       ciphertext will be written to the output specified and will not be included in the JWE.

       If only one key is used (-k or -p), the  resulting  JWE  may  be  output  in  JWE  Compact
       Serialization by using the -c option.

       This  command  uses  a  template  based  approach  for constructing a JWE. You can specify
       templates of the JWE itself  (-i)  or  for  the  JWE  Recipient  Object  (-r).  Attributes
       specified in either of these templates will appear unmodified in the output. One exception
       to this rule is that the JWE Protected Header should be specified in its decoded  form  in
       the template. This command will automatically encode it as part of the encryption process.

       If  you specify a JOSE Header Parameter (via either the -i or -r options) that affects the
       construction of the JWE, this command will attempt to behave according to  this  parameter
       as  if  it  were  configuration.  For  example,  specifying the "zip" parameter in the JWE
       Protected Header will cause the plaintext to be compressed before  encryption.  Currently,
       jose  will  modify its behavior for the "alg", "enc" and "zip" JOSE Header Parameters (see
       RFC 7516 Section 4.1.3), as well as the algorithm-specific parameters for  the  algorithms
       we support (see RFC 7518 Section 4).

       However,  it  is  not  necessary to provide any templates: jose jwe enc will automatically
       fill in the "alg" and "enc" parameters  by  inferring  the  correct  algorithms  from  the
       provided  input  keys (JWK or password). Therefore, the -i and -r options should generally
       be used for providing extended JWE metadata.

OPTIONS

       -i JSON, --input=JSON
              Parse JWE from JSON

       -i FILE, --input=FILE
              Read JWE from FILE

       -i -, --input=-
              Read JWE from standard input

       -I FILE, --detached=FILE
              Read decoded ciphertext from FILE

       -I -, --detached=-
              Read decoded ciphertext from standard input

       -r FILE, --recipient=FILE
              Read JWE recipient template from FILE

       -r -, --recipient=-
              Read JWE recipient template from standard input

       -k FILE, --key=FILE
              Read JWK(Set) from FILE

       -k -, --key=-
              Read JWK(Set) from standard input

       -p, `--password
              Prompt for an encryption password

       -o FILE, --output=FILE
              Write JWE to FILE

       -o -, --output=-
              Write JWE to stdout (default)

       -O FILE, --detach=FILE
              Detach ciphertext and decode to FILE

       -O -, --detach=-
              Detach ciphertext and decode to standard output

       -c, --compact
              Output JWE using compact serialization

EXAMPLES

       Encrypt data with a symmetric key using JWE JSON Serialization:

           $ jose jwk gen -i ´{"alg":"A128GCM"}´ -o key.jwk
           $ jose jwe enc -I msg.txt -k key.jwk -o msg.jwe

       Encrypt data with a password using JWE Compact Serialization:

           $ jose jwe enc -I msg.txt -p -c -o msg.jwe
           Please enter an encryption password:
           Please re-enter the previous password:

       Compress plaintext before encryption:

           $ jose jwe enc -i ´{"protected":{"zip":"DEF"}}´ ...

       Encrypt with two keys and two passwords: $ jose jwk gen -i  ´{"alg":"ECDH-ES+A128KW"}´  -o
       ec.jwk  $  jose  jwk  gen -i ´{"alg":"RSA1_5"}´ -o rsa.jwk $ jose jwe enc -I msg.txt -p -k
       ec.jwk -p -k rsa.jwk -o msg.jwe Please enter a  password:  Please  re-enter  the  previous
       password: Please enter a password: Please re-enter the previous password:

AUTHOR

       Nathaniel McCallum <npmccallum@redhat.com>

SEE ALSO

       jose-jwe-dec(1), jose-jwe-fmt(1)

                                             May 2017                             JOSE-JWE-ENC(1)