JSON Web Encryption (JWE)
RFC 7516

 
Document Type RFC - Proposed Standard (May 2015; No errata)
Last updated 2015-05-19
Replaces draft-jones-json-web-encryption
Stream IETF
Formats plain text pdf html
Stream WG state Submitted to IESG for Publication Jun 2013 Jan 2014 Jan 2014
Consensus Yes
Document shepherd Karen O'Donoghue
Shepherd write-up Show (last changed 2014-08-14)
IESG IESG state RFC 7516 (Proposed Standard)
Telechat date
Responsible AD Kathleen Moriarty
Send notices to jose-chairs@ietf.org, draft-ietf-jose-json-web-encryption@ietf.org
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
Internet Engineering Task Force (IETF)                          M. Jones
Request for Comments: 7516                                     Microsoft
Category: Standards Track                                  J. Hildebrand
ISSN: 2070-1721                                                    Cisco
                                                                May 2015

                       JSON Web Encryption (JWE)

Abstract

   JSON Web Encryption (JWE) represents encrypted content using
   JSON-based data structures.  Cryptographic algorithms and identifiers
   for use with this specification are described in the separate JSON
   Web Algorithms (JWA) specification and IANA registries defined by
   that specification.  Related digital signature and Message
   Authentication Code (MAC) capabilities are described in the separate
   JSON Web Signature (JWS) specification.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7516.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Jones & Hildebrand           Standards Track                    [Page 1]
RFC 7516                JSON Web Encryption (JWE)               May 2015

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   4
     1.1.  Notational Conventions  . . . . . . . . . . . . . . . . .   4
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.  JSON Web Encryption (JWE) Overview  . . . . . . . . . . . . .   8
     3.1.  JWE Compact Serialization Overview  . . . . . . . . . . .   8
     3.2.  JWE JSON Serialization Overview . . . . . . . . . . . . .   9
     3.3.  Example JWE . . . . . . . . . . . . . . . . . . . . . . .  10
   4.  JOSE Header . . . . . . . . . . . . . . . . . . . . . . . . .  11
     4.1.  Registered Header Parameter Names . . . . . . . . . . . .  11
       4.1.1.  "alg" (Algorithm) Header Parameter  . . . . . . . . .  12
       4.1.2.  "enc" (Encryption Algorithm) Header Parameter . . . .  12
       4.1.3.  "zip" (Compression Algorithm) Header Parameter  . . .  12
       4.1.4.  "jku" (JWK Set URL) Header Parameter  . . . . . . . .  13
       4.1.5.  "jwk" (JSON Web Key) Header Parameter . . . . . . . .  13
       4.1.6.  "kid" (Key ID) Header Parameter . . . . . . . . . . .  13
       4.1.7.  "x5u" (X.509 URL) Header Parameter  . . . . . . . . .  13
       4.1.8.  "x5c" (X.509 Certificate Chain) Header Parameter  . .  13
       4.1.9.  "x5t" (X.509 Certificate SHA-1 Thumbprint) Header
               Parameter . . . . . . . . . . . . . . . . . . . . . .  14
       4.1.10. "x5t#S256" (X.509 Certificate SHA-256 Thumbprint)
               Header Parameter  . . . . . . . . . . . . . . . . . .  14
       4.1.11. "typ" (Type) Header Parameter . . . . . . . . . . . .  14
       4.1.12. "cty" (Content Type) Header Parameter . . . . . . . .  14
       4.1.13. "crit" (Critical) Header Parameter  . . . . . . . . .  14
     4.2.  Public Header Parameter Names . . . . . . . . . . . . . .  14
     4.3.  Private Header Parameter Names  . . . . . . . . . . . . .  15
   5.  Producing and Consuming JWEs  . . . . . . . . . . . . . . . .  15
     5.1.  Message Encryption  . . . . . . . . . . . . . . . . . . .  15
     5.2.  Message Decryption  . . . . . . . . . . . . . . . . . . .  17
     5.3.  String Comparison Rules . . . . . . . . . . . . . . . . .  20
   6.  Key Identification  . . . . . . . . . . . . . . . . . . . . .  20
   7.  Serializations  . . . . . . . . . . . . . . . . . . . . . . .  20
     7.1.  JWE Compact Serialization . . . . . . . . . . . . . . . .  20
Show full document text