JSON Web Signature (JWS)
RFC 7515
Internet Engineering Task Force (IETF) M. Jones
Request for Comments: 7515 Microsoft
Category: Standards Track J. Bradley
ISSN: 2070-1721 Ping Identity
N. Sakimura
NRI
May 2015
JSON Web Signature (JWS)
Abstract
JSON Web Signature (JWS) represents content secured with digital
signatures or Message Authentication Codes (MACs) 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 an IANA registry defined by that
specification. Related encryption capabilities are described in the
separate JSON Web Encryption (JWE) 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/rfc7515.
Jones, et al. Standards Track [Page 1]
RFC 7515 JSON Web Signature (JWS) May 2015
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.
Table of Contents
1. Introduction ....................................................4
1.1. Notational Conventions .....................................4
2. Terminology .....................................................5
3. JSON Web Signature (JWS) Overview ...............................7
3.1. JWS Compact Serialization Overview .........................7
3.2. JWS JSON Serialization Overview ............................8
3.3. Example JWS ................................................8
4. JOSE Header .....................................................9
4.1. Registered Header Parameter Names .........................10
4.1.1. "alg" (Algorithm) Header Parameter .................10
4.1.2. "jku" (JWK Set URL) Header Parameter ...............10
4.1.3. "jwk" (JSON Web Key) Header Parameter ..............11
4.1.4. "kid" (Key ID) Header Parameter ....................11
4.1.5. "x5u" (X.509 URL) Header Parameter .................11
4.1.6. "x5c" (X.509 Certificate Chain) Header Parameter ...11
4.1.7. "x5t" (X.509 Certificate SHA-1 Thumbprint)
Header Parameter ...................................12
4.1.8. "x5t#S256" (X.509 Certificate SHA-256
Thumbprint) Header Parameter .......................12
4.1.9. "typ" (Type) Header Parameter ......................12
4.1.10. "cty" (Content Type) Header Parameter .............13
4.1.11. "crit" (Critical) Header Parameter ................14
4.2. Public Header Parameter Names .............................14
4.3. Private Header Parameter Names ............................14
5. Producing and Consuming JWSs ...................................15
5.1. Message Signature or MAC Computation ......................15
5.2. Message Signature or MAC Validation .......................16
5.3. String Comparison Rules ...................................17
6. Key Identification .............................................18
Jones, et al. Standards Track [Page 2]
RFC 7515 JSON Web Signature (JWS) May 2015
7. Serializations .................................................19
7.1. JWS Compact Serialization .................................19
7.2. JWS JSON Serialization ....................................19
7.2.1. General JWS JSON Serialization Syntax ..............20
Show full document text