< draft-ietf-jose-json-web-encryption-36.txt   draft-ietf-jose-json-web-encryption-37.txt >
JOSE Working Group M. Jones JOSE Working Group M. Jones
Internet-Draft Microsoft Internet-Draft Microsoft
Intended status: Standards Track J. Hildebrand Intended status: Standards Track J. Hildebrand
Expires: April 27, 2015 Cisco Expires: May 23, 2015 Cisco
October 24, 2014 November 19, 2014
JSON Web Encryption (JWE) JSON Web Encryption (JWE)
draft-ietf-jose-json-web-encryption-36 draft-ietf-jose-json-web-encryption-37
Abstract Abstract
JSON Web Encryption (JWE) represents encrypted content using JSON Web Encryption (JWE) represents encrypted content using
JavaScript Object Notation (JSON) based data structures. JavaScript Object Notation (JSON) based data structures.
Cryptographic algorithms and identifiers for use with this Cryptographic algorithms and identifiers for use with this
specification are described in the separate JSON Web Algorithms (JWA) specification are described in the separate JSON Web Algorithms (JWA)
specification and IANA registries defined by that specification. specification and IANA registries defined by that specification.
Related digital signature and MAC capabilities are described in the Related digital signature and MAC capabilities are described in the
separate JSON Web Signature (JWS) specification. separate JSON Web Signature (JWS) specification.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 27, 2015. This Internet-Draft will expire on May 23, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 22 skipping to change at page 3, line 22
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 29
12.1. Normative References . . . . . . . . . . . . . . . . . . . 29 12.1. Normative References . . . . . . . . . . . . . . . . . . . 29
12.2. Informative References . . . . . . . . . . . . . . . . . . 30 12.2. Informative References . . . . . . . . . . . . . . . . . . 30
Appendix A. JWE Examples . . . . . . . . . . . . . . . . . . . . 31 Appendix A. JWE Examples . . . . . . . . . . . . . . . . . . . . 31
A.1. Example JWE using RSAES OAEP and AES GCM . . . . . . . . . 31 A.1. Example JWE using RSAES OAEP and AES GCM . . . . . . . . . 31
A.1.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 31 A.1.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 31
A.1.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 31 A.1.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 31
A.1.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 32 A.1.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 32
A.1.4. Initialization Vector . . . . . . . . . . . . . . . . 33 A.1.4. Initialization Vector . . . . . . . . . . . . . . . . 33
A.1.5. Additional Authenticated Data . . . . . . . . . . . . 33 A.1.5. Additional Authenticated Data . . . . . . . . . . . . 33
A.1.6. Content Encryption . . . . . . . . . . . . . . . . . . 33 A.1.6. Content Encryption . . . . . . . . . . . . . . . . . . 34
A.1.7. Complete Representation . . . . . . . . . . . . . . . 34 A.1.7. Complete Representation . . . . . . . . . . . . . . . 34
A.1.8. Validation . . . . . . . . . . . . . . . . . . . . . . 34 A.1.8. Validation . . . . . . . . . . . . . . . . . . . . . . 35
A.2. Example JWE using RSAES-PKCS1-V1_5 and A.2. Example JWE using RSAES-PKCS1-V1_5 and
AES_128_CBC_HMAC_SHA_256 . . . . . . . . . . . . . . . . . 35 AES_128_CBC_HMAC_SHA_256 . . . . . . . . . . . . . . . . . 35
A.2.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 35 A.2.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 35
A.2.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 35 A.2.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 36
A.2.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 35 A.2.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 36
A.2.4. Initialization Vector . . . . . . . . . . . . . . . . 37 A.2.4. Initialization Vector . . . . . . . . . . . . . . . . 38
A.2.5. Additional Authenticated Data . . . . . . . . . . . . 37 A.2.5. Additional Authenticated Data . . . . . . . . . . . . 38
A.2.6. Content Encryption . . . . . . . . . . . . . . . . . . 37 A.2.6. Content Encryption . . . . . . . . . . . . . . . . . . 38
A.2.7. Complete Representation . . . . . . . . . . . . . . . 38 A.2.7. Complete Representation . . . . . . . . . . . . . . . 39
A.2.8. Validation . . . . . . . . . . . . . . . . . . . . . . 38 A.2.8. Validation . . . . . . . . . . . . . . . . . . . . . . 39
A.3. Example JWE using AES Key Wrap and A.3. Example JWE using AES Key Wrap and
AES_128_CBC_HMAC_SHA_256 . . . . . . . . . . . . . . . . . 38 AES_128_CBC_HMAC_SHA_256 . . . . . . . . . . . . . . . . . 40
A.3.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 39 A.3.1. JOSE Header . . . . . . . . . . . . . . . . . . . . . 40
A.3.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 39 A.3.2. Content Encryption Key (CEK) . . . . . . . . . . . . . 40
A.3.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 39 A.3.3. Key Encryption . . . . . . . . . . . . . . . . . . . . 40
A.3.4. Initialization Vector . . . . . . . . . . . . . . . . 40 A.3.4. Initialization Vector . . . . . . . . . . . . . . . . 41
A.3.5. Additional Authenticated Data . . . . . . . . . . . . 40 A.3.5. Additional Authenticated Data . . . . . . . . . . . . 41
A.3.6. Content Encryption . . . . . . . . . . . . . . . . . . 40 A.3.6. Content Encryption . . . . . . . . . . . . . . . . . . 41
A.3.7. Complete Representation . . . . . . . . . . . . . . . 41 A.3.7. Complete Representation . . . . . . . . . . . . . . . 42
A.3.8. Validation . . . . . . . . . . . . . . . . . . . . . . 41 A.3.8. Validation . . . . . . . . . . . . . . . . . . . . . . 42
A.4. Example JWE using General JWE JSON Serialization . . . . . 41 A.4. Example JWE using General JWE JSON Serialization . . . . . 43
A.4.1. JWE Per-Recipient Unprotected Headers . . . . . . . . 42 A.4.1. JWE Per-Recipient Unprotected Headers . . . . . . . . 43
A.4.2. JWE Protected Header . . . . . . . . . . . . . . . . . 42 A.4.2. JWE Protected Header . . . . . . . . . . . . . . . . . 43
A.4.3. JWE Unprotected Header . . . . . . . . . . . . . . . . 42 A.4.3. JWE Unprotected Header . . . . . . . . . . . . . . . . 44
A.4.4. Complete JOSE Header Values . . . . . . . . . . . . . 42 A.4.4. Complete JOSE Header Values . . . . . . . . . . . . . 44
A.4.5. Additional Authenticated Data . . . . . . . . . . . . 43 A.4.5. Additional Authenticated Data . . . . . . . . . . . . 44
A.4.6. Content Encryption . . . . . . . . . . . . . . . . . . 43 A.4.6. Content Encryption . . . . . . . . . . . . . . . . . . 44
A.4.7. Complete JWE JSON Serialization Representation . . . . 43 A.4.7. Complete JWE JSON Serialization Representation . . . . 45
A.5. Example JWE using Flattened JWE JSON Serialization . . . . 44 A.5. Example JWE using Flattened JWE JSON Serialization . . . . 46
Appendix B. Example AES_128_CBC_HMAC_SHA_256 Computation . . . . 45 Appendix B. Example AES_128_CBC_HMAC_SHA_256 Computation . . . . 46
B.1. Extract MAC_KEY and ENC_KEY from Key . . . . . . . . . . . 45 B.1. Extract MAC_KEY and ENC_KEY from Key . . . . . . . . . . . 46
B.2. Encrypt Plaintext to Create Ciphertext . . . . . . . . . . 46 B.2. Encrypt Plaintext to Create Ciphertext . . . . . . . . . . 47
B.3. 64 Bit Big Endian Representation of AAD Length . . . . . . 46 B.3. 64 Bit Big Endian Representation of AAD Length . . . . . . 47
B.4. Initialization Vector Value . . . . . . . . . . . . . . . 46 B.4. Initialization Vector Value . . . . . . . . . . . . . . . 48
B.5. Create Input to HMAC Computation . . . . . . . . . . . . . 46 B.5. Create Input to HMAC Computation . . . . . . . . . . . . . 48
B.6. Compute HMAC Value . . . . . . . . . . . . . . . . . . . . 47 B.6. Compute HMAC Value . . . . . . . . . . . . . . . . . . . . 48
B.7. Truncate HMAC Value to Create Authentication Tag . . . . . 47 B.7. Truncate HMAC Value to Create Authentication Tag . . . . . 48
Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 47 Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 48
Appendix D. Document History . . . . . . . . . . . . . . . . . . 48 Appendix D. Document History . . . . . . . . . . . . . . . . . . 49
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 59 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 60
1. Introduction 1. Introduction
JSON Web Encryption (JWE) represents encrypted content using JSON Web Encryption (JWE) represents encrypted content using
JavaScript Object Notation (JSON) [RFC7159] based data structures. JavaScript Object Notation (JSON) [RFC7159] based data structures.
The JWE cryptographic mechanisms encrypt and provide integrity The JWE cryptographic mechanisms encrypt and provide integrity
protection for an arbitrary sequence of octets. protection for an arbitrary sequence of octets.
Two closely related serializations for JWE objects are defined. The Two closely related serializations for JWE objects are defined. The
JWE Compact Serialization is a compact, URL-safe representation JWE Compact Serialization is a compact, URL-safe representation
skipping to change at page 12, line 41 skipping to change at page 12, line 41
4.1.2. "enc" (Encryption Algorithm) Header Parameter 4.1.2. "enc" (Encryption Algorithm) Header Parameter
The "enc" (encryption algorithm) Header Parameter identifies the The "enc" (encryption algorithm) Header Parameter identifies the
content encryption algorithm used to perform authenticated encryption content encryption algorithm used to perform authenticated encryption
on the Plaintext to produce the Ciphertext and the Authentication on the Plaintext to produce the Ciphertext and the Authentication
Tag. This algorithm MUST be an AEAD algorithm with a specified key Tag. This algorithm MUST be an AEAD algorithm with a specified key
length. The recipient MUST reject the JWE if the "enc" value does length. The recipient MUST reject the JWE if the "enc" value does
not represent a supported algorithm. "enc" values should either be not represent a supported algorithm. "enc" values should either be
registered in the IANA JSON Web Signature and Encryption Algorithms registered in the IANA JSON Web Signature and Encryption Algorithms
registry defined in [JWA] or be a value that contains a Collision- registry defined in [JWA] or be a value that contains a Collision-
Resistant Name. The "enc" value is a case-sensitive string Resistant Name. The "enc" value is a case-sensitive ASCII string
containing a StringOrURI value. This Header Parameter MUST be containing a StringOrURI value. This Header Parameter MUST be
present and MUST be understood and processed by implementations. present and MUST be understood and processed by implementations.
A list of defined "enc" values for this use can be found in the IANA A list of defined "enc" values for this use can be found in the IANA
JSON Web Signature and Encryption Algorithms registry defined in JSON Web Signature and Encryption Algorithms registry defined in
[JWA]; the initial contents of this registry are the values defined [JWA]; the initial contents of this registry are the values defined
in Section 5.1 of the JSON Web Algorithms (JWA) [JWA] specification. in Section 5.1 of the JSON Web Algorithms (JWA) [JWA] specification.
4.1.3. "zip" (Compression Algorithm) Header Parameter 4.1.3. "zip" (Compression Algorithm) Header Parameter
skipping to change at page 17, line 41 skipping to change at page 17, line 41
The message decryption process is the reverse of the encryption The message decryption process is the reverse of the encryption
process. The order of the steps is not significant in cases where process. The order of the steps is not significant in cases where
there are no dependencies between the inputs and outputs of the there are no dependencies between the inputs and outputs of the
steps. If any of these steps fails, the encrypted content cannot be steps. If any of these steps fails, the encrypted content cannot be
validated. validated.
When there are multiple recipients, it is an application decision When there are multiple recipients, it is an application decision
which of the recipients' encrypted content must successfully validate which of the recipients' encrypted content must successfully validate
for the JWE to be accepted. In some cases, encrypted content for all for the JWE to be accepted. In some cases, encrypted content for all
recipients must successfully validate or the JWE will be rejected. recipients must successfully validate or the JWE will be considered
In other cases, only the encrypted content for a single recipient invalid. In other cases, only the encrypted content for a single
needs to be successfully validated. However, in all cases, the recipient needs to be successfully validated. However, in all cases,
encrypted content for at least one recipient MUST successfully the encrypted content for at least one recipient MUST successfully
validate or the JWE MUST be rejected. validate or the JWE MUST be considered invalid.
1. Parse the JWE representation to extract the serialized values 1. Parse the JWE representation to extract the serialized values
for the components of the JWE. When using the JWE Compact for the components of the JWE. When using the JWE Compact
Serialization, these components are the base64url encoded Serialization, these components are the base64url encoded
representations of the JWE Protected Header, the JWE Encrypted representations of the JWE Protected Header, the JWE Encrypted
Key, the JWE Initialization Vector, the JWE Ciphertext, and the Key, the JWE Initialization Vector, the JWE Ciphertext, and the
JWE Authentication Tag, and when using the JWE JSON JWE Authentication Tag, and when using the JWE JSON
Serialization, these components also include the base64url Serialization, these components also include the base64url
encoded representation of the JWE AAD and the unencoded JWE encoded representation of the JWE AAD and the unencoded JWE
Shared Unprotected Header and JWE Per-Recipient Unprotected Shared Unprotected Header and JWE Per-Recipient Unprotected
skipping to change at page 20, line 13 skipping to change at page 20, line 13
calculation) using the specified content encryption algorithm, calculation) using the specified content encryption algorithm,
returning the decrypted plaintext and validating the JWE returning the decrypted plaintext and validating the JWE
Authentication Tag in the manner specified for the algorithm, Authentication Tag in the manner specified for the algorithm,
rejecting the input without emitting any decrypted output if the rejecting the input without emitting any decrypted output if the
JWE Authentication Tag is incorrect. JWE Authentication Tag is incorrect.
17. If a "zip" parameter was included, uncompress the decrypted 17. If a "zip" parameter was included, uncompress the decrypted
plaintext using the specified compression algorithm. plaintext using the specified compression algorithm.
18. If there was no recipient for which all of the decryption steps 18. If there was no recipient for which all of the decryption steps
succeeded, then the JWE MUST be rejected. Otherwise, output the succeeded, then the JWE MUST be considered invalid. Otherwise,
Plaintext. In the JWE JSON Serialization case, also return a output the Plaintext. In the JWE JSON Serialization case, also
result to the application indicating for which of the recipients return a result to the application indicating for which of the
the decryption succeeded and failed. recipients the decryption succeeded and failed.
Finally, note that it is an application decision which algorithms may Finally, note that it is an application decision which algorithms may
be used in a given context. Even if a JWE can be successfully be used in a given context. Even if a JWE can be successfully
decrypted, unless the algorithms used in the JWE are acceptable to decrypted, unless the algorithms used in the JWE are acceptable to
the application, it SHOULD reject the JWE. the application, it SHOULD consider the JWE to be invalid.
5.3. String Comparison Rules 5.3. String Comparison Rules
The string comparison rules for this specification are the same as The string comparison rules for this specification are the same as
those defined in Section 5.3 of [JWS]. those defined in Section 5.3 of [JWS].
6. Key Identification 6. Key Identification
The key identification methods for this specification are the same as The key identification methods for this specification are the same as
those defined in Section 6 of [JWS], except that the key being those defined in Section 6 of [JWS], except that the key being
skipping to change at page 29, line 21 skipping to change at page 29, line 21
of receiving an improperly formatted key, that the recipient of receiving an improperly formatted key, that the recipient
substitute a randomly generated CEK and proceed to the next step, to substitute a randomly generated CEK and proceed to the next step, to
mitigate timing attacks. mitigate timing attacks.
12. References 12. References
12.1. Normative References 12.1. Normative References
[JWA] Jones, M., "JSON Web Algorithms (JWA)", [JWA] Jones, M., "JSON Web Algorithms (JWA)",
draft-ietf-jose-json-web-algorithms (work in progress), draft-ietf-jose-json-web-algorithms (work in progress),
October 2014. November 2014.
[JWK] Jones, M., "JSON Web Key (JWK)", [JWK] Jones, M., "JSON Web Key (JWK)",
draft-ietf-jose-json-web-key (work in progress), draft-ietf-jose-json-web-key (work in progress),
October 2014. November 2014.
[JWS] Jones, M., Bradley, J., and N. Sakimura, "JSON Web [JWS] Jones, M., Bradley, J., and N. Sakimura, "JSON Web
Signature (JWS)", draft-ietf-jose-json-web-signature (work Signature (JWS)", draft-ietf-jose-json-web-signature (work
in progress), October 2014. in progress), November 2014.
[RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification [RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification
version 1.3", RFC 1951, May 1996. version 1.3", RFC 1951, May 1996.
[RFC20] Cerf, V., "ASCII format for Network Interchange", RFC 20, [RFC20] Cerf, V., "ASCII format for Network Interchange", RFC 20,
October 1969. October 1969.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
skipping to change at page 32, line 27 skipping to change at page 32, line 27
psk_ZkoFnilakGygTwpZ3uesH-PFABNIUYpOiN15dsQRkgr0vEhxN92i2a psk_ZkoFnilakGygTwpZ3uesH-PFABNIUYpOiN15dsQRkgr0vEhxN92i2a
sbOenSZeyaxziK72UwxrrKoExv6kc5twXTq4h-QChLOln0_mtUZwfsRaMS sbOenSZeyaxziK72UwxrrKoExv6kc5twXTq4h-QChLOln0_mtUZwfsRaMS
tPs6mS6XrgxnxbWhojf663tuEQueGC-FCMfra36C9knDFGzKsNa7LZK2dj tPs6mS6XrgxnxbWhojf663tuEQueGC-FCMfra36C9knDFGzKsNa7LZK2dj
YgyD3JR_MB_4NUJW_TqOQtwHYbxevoJArm-L5StowjzGy-_bq6Gw", YgyD3JR_MB_4NUJW_TqOQtwHYbxevoJArm-L5StowjzGy-_bq6Gw",
"e":"AQAB", "e":"AQAB",
"d":"kLdtIj6GbDks_ApCSTYQtelcNttlKiOyPzMrXHeI-yk1F7-kpDxY4-WY5N "d":"kLdtIj6GbDks_ApCSTYQtelcNttlKiOyPzMrXHeI-yk1F7-kpDxY4-WY5N
WV5KntaEeXS1j82E375xxhWMHXyvjYecPT9fpwR_M9gV8n9Hrh2anTpTD9 WV5KntaEeXS1j82E375xxhWMHXyvjYecPT9fpwR_M9gV8n9Hrh2anTpTD9
3Dt62ypW3yDsJzBnTnrYu1iwWRgBKrEYY46qAZIrA2xAwnm2X7uGR1hghk 3Dt62ypW3yDsJzBnTnrYu1iwWRgBKrEYY46qAZIrA2xAwnm2X7uGR1hghk
qDp0Vqj3kbSCz1XyfCs6_LehBwtxHIyh8Ripy40p24moOAbgxVw3rxT_vl qDp0Vqj3kbSCz1XyfCs6_LehBwtxHIyh8Ripy40p24moOAbgxVw3rxT_vl
t3UVe4WO3JkJOzlpUf-KTVI2Ptgm-dARxTEtE-id-4OJr0h-K-VFs3VSnd t3UVe4WO3JkJOzlpUf-KTVI2Ptgm-dARxTEtE-id-4OJr0h-K-VFs3VSnd
VTIznSxfyrj8ILL6MG_Uv8YAu7VILSB3lOW085-4qE3DzgrTjgyQ" VTIznSxfyrj8ILL6MG_Uv8YAu7VILSB3lOW085-4qE3DzgrTjgyQ",
"p":"1r52Xk46c-LsfB5P442p7atdPUrxQSy4mti_tZI3Mgf2EuFVbUoDBvaRQ-
SWxkbkmoEzL7JXroSBjSrK3YIQgYdMgyAEPTPjXv_hI2_1eTSPVZfzL0lf
fNn03IXqWF5MDFuoUYE0hzb2vhrlN_rKrbfDIwUbTrjjgieRbwC6Cl0",
"q":"wLb35x7hmQWZsWJmB_vle87ihgZ19S8lBEROLIsZG4ayZVe9Hi9gDVCOBm
UDdaDYVTSNx_8Fyw1YYa9XGrGnDew00J28cRUoeBB_jKI1oma0Orv1T9aX
IWxKwd4gvxFImOWr3QRL9KEBRzk2RatUBnmDZJTIAfwTs0g68UZHvtc",
"dp":"ZK-YwE7diUh0qR1tR7w8WHtolDx3MZ_OTowiFvgfeQ3SiresXjm9gZ5KL
hMXvo-uz-KUJWDxS5pFQ_M0evdo1dKiRTjVw_x4NyqyXPM5nULPkcpU827
rnpZzAJKpdhWAgqrXGKAECQH0Xt4taznjnd_zVpAmZZq60WPMBMfKcuE",
"dq":"Dq0gfgJ1DdFGXiLvQEZnuKEN0UUmsJBxkjydc3j4ZYdBiMRAy86x0vHCj
ywcMlYYg4yoC4YZa9hNVcsjqA3FeiL19rk8g6Qn29Tt0cj8qqyFpz9vNDB
UfCAiJVeESOjJDZPYHdHY8v1b-o-Z2X5tvLx-TCekf7oxyeKDUqKWjis",
"qi":"VIMpMYbPf47dT1w_zDUXfPimsSegnMOA1zTaX7aGk_8urY6R8-ZW1FxU7
AlWAyLWybqq6t16VFd7hQd0y6flUK4SlOydB61gwanOsXGOAOv82cHq0E3
eL4HrtZkUuKvnPrMnsUUFlfUdybVzxyjz9JF_XyaY14ardLSjf4L_FNY"
} }
The resulting JWE Encrypted Key value is: The resulting JWE Encrypted Key value is:
[56, 163, 154, 192, 58, 53, 222, 4, 105, 218, 136, 218, 29, 94, 203, [56, 163, 154, 192, 58, 53, 222, 4, 105, 218, 136, 218, 29, 94, 203,
22, 150, 92, 129, 94, 211, 232, 53, 89, 41, 60, 138, 56, 196, 216, 22, 150, 92, 129, 94, 211, 232, 53, 89, 41, 60, 138, 56, 196, 216,
82, 98, 168, 76, 37, 73, 70, 7, 36, 8, 191, 100, 136, 196, 244, 220, 82, 98, 168, 76, 37, 73, 70, 7, 36, 8, 191, 100, 136, 196, 244, 220,
145, 158, 138, 155, 4, 117, 141, 230, 199, 247, 173, 45, 182, 214, 145, 158, 138, 155, 4, 117, 141, 230, 199, 247, 173, 45, 182, 214,
74, 177, 107, 211, 153, 11, 205, 196, 171, 226, 162, 128, 171, 182, 74, 177, 107, 211, 153, 11, 205, 196, 171, 226, 162, 128, 171, 182,
13, 237, 239, 99, 193, 4, 91, 219, 121, 223, 107, 167, 61, 119, 228, 13, 237, 239, 99, 193, 4, 91, 219, 121, 223, 107, 167, 61, 119, 228,
skipping to change at page 36, line 18 skipping to change at page 37, line 18
cbAYxknTcQkhslANGRUZmdTOQ5qTRsLAt6BTYuyvVRdhS8exSZEy_c4gs_ cbAYxknTcQkhslANGRUZmdTOQ5qTRsLAt6BTYuyvVRdhS8exSZEy_c4gs_
7svlJJQ4H9_NxsiIoLwAEk7-Q3UXERGYw_75IDrGA84-lA_-Ct4eTlXHBI 7svlJJQ4H9_NxsiIoLwAEk7-Q3UXERGYw_75IDrGA84-lA_-Ct4eTlXHBI
Y2EaV7t7LjJaynVJCpkv4LKjTTAumiGUIuQhrNhZLuF_RJLqHpM2kgWFLU Y2EaV7t7LjJaynVJCpkv4LKjTTAumiGUIuQhrNhZLuF_RJLqHpM2kgWFLU
7-VTdL1VbC2tejvcI2BlMkEpk1BzBZI0KQB0GaDWFLN-aEAw3vRw", 7-VTdL1VbC2tejvcI2BlMkEpk1BzBZI0KQB0GaDWFLN-aEAw3vRw",
"e":"AQAB", "e":"AQAB",
"d":"VFCWOqXr8nvZNyaaJLXdnNPXZKRaWCjkU5Q2egQQpTBMwhprMzWzpR8Sxq "d":"VFCWOqXr8nvZNyaaJLXdnNPXZKRaWCjkU5Q2egQQpTBMwhprMzWzpR8Sxq
1OPThh_J6MUD8Z35wky9b8eEO0pwNS8xlh1lOFRRBoNqDIKVOku0aZb-ry 1OPThh_J6MUD8Z35wky9b8eEO0pwNS8xlh1lOFRRBoNqDIKVOku0aZb-ry
nq8cxjDTLZQ6Fz7jSjR1Klop-YKaUHc9GsEofQqYruPhzSA-QgajZGPbE_ nq8cxjDTLZQ6Fz7jSjR1Klop-YKaUHc9GsEofQqYruPhzSA-QgajZGPbE_
0ZaVDJHfyd7UUBUKunFMScbflYAAOYJqVIVwaYR5zWEEceUjNnTNo_CVSj 0ZaVDJHfyd7UUBUKunFMScbflYAAOYJqVIVwaYR5zWEEceUjNnTNo_CVSj
-VvXLO5VZfCUAVLgW4dpf1SrtZjSt34YLsRarSb127reG_DUwg9Ch-Kyvj -VvXLO5VZfCUAVLgW4dpf1SrtZjSt34YLsRarSb127reG_DUwg9Ch-Kyvj
T1SkHgUWRVGcyly7uvVGRSDwsXypdrNinPA4jlhoNdizK2zF2CWQ" T1SkHgUWRVGcyly7uvVGRSDwsXypdrNinPA4jlhoNdizK2zF2CWQ",
"p":"9gY2w6I6S6L0juEKsbeDAwpd9WMfgqFoeA9vEyEUuk4kLwBKcoe1x4HG68
ik918hdDSE9vDQSccA3xXHOAFOPJ8R9EeIAbTi1VwBYnbTp87X-xcPWlEP
krdoUKW60tgs1aNd_Nnc9LEVVPMS390zbFxt8TN_biaBgelNgbC95sM",
"q":"uKlCKvKv_ZJMVcdIs5vVSU_6cPtYI1ljWytExV_skstvRSNi9r66jdd9-y
BhVfuG4shsp2j7rGnIio901RBeHo6TPKWVVykPu1iYhQXw1jIABfw-MVsN
-3bQ76WLdt2SDxsHs7q7zPyUyHXmps7ycZ5c72wGkUwNOjYelmkiNS0",
"dp":"w0kZbV63cVRvVX6yk3C8cMxo2qCM4Y8nsq1lmMSYhG4EcL6FWbX5h9yuv
ngs4iLEFk6eALoUS4vIWEwcL4txw9LsWH_zKI-hwoReoP77cOdSL4AVcra
Hawlkpyd2TWjE5evgbhWtOxnZee3cXJBkAi64Ik6jZxbvk-RR3pEhnCs",
"dq":"o_8V14SezckO6CNLKs_btPdFiO9_kC1DsuUTd2LAfIIVeMZ7jn1Gus_Ff
7B7IVx3p5KuBGOVF8L-qifLb6nQnLysgHDh132NDioZkhH7mI7hPG-PYE_
odApKdnqECHWw0J-F0JWnUd6D2B_1TvF9mXA2Qx-iGYn8OVV1Bsmp6qU",
"qi":"eNho5yRBEBxhGBtQRww9QirZsB66TrfFReG_CcteI1aCneT0ELGhYlRlC
tUkTRclIfuEPmNsNDPbLoLqqCVznFbvdB7x-Tl-m0l_eFTj2KiqwGqE9PZ
B9nNTwMVvH3VRRSLWACvPnSiwP8N5Usy-WRXS-V7TbpxIhvepTfE0NNo"
} }
The resulting JWE Encrypted Key value is: The resulting JWE Encrypted Key value is:
[80, 104, 72, 58, 11, 130, 236, 139, 132, 189, 255, 205, 61, 86, 151, [80, 104, 72, 58, 11, 130, 236, 139, 132, 189, 255, 205, 61, 86, 151,
176, 99, 40, 44, 233, 176, 189, 205, 70, 202, 169, 72, 40, 226, 181, 176, 99, 40, 44, 233, 176, 189, 205, 70, 202, 169, 72, 40, 226, 181,
156, 223, 120, 156, 115, 232, 150, 209, 145, 133, 104, 112, 237, 156, 156, 223, 120, 156, 115, 232, 150, 209, 145, 133, 104, 112, 237, 156,
116, 250, 65, 102, 212, 210, 103, 240, 177, 61, 93, 40, 71, 231, 223, 116, 250, 65, 102, 212, 210, 103, 240, 177, 61, 93, 40, 71, 231, 223,
226, 240, 157, 15, 31, 150, 89, 200, 215, 198, 203, 108, 70, 117, 66, 226, 240, 157, 15, 31, 150, 89, 200, 215, 198, 203, 108, 70, 117, 66,
212, 238, 193, 205, 23, 161, 169, 218, 243, 203, 128, 214, 127, 253, 212, 238, 193, 205, 23, 161, 169, 218, 243, 203, 128, 214, 127, 253,
skipping to change at page 48, line 21 skipping to change at page 49, line 34
Sakimura, Jim Schaad, Hannes Tschofenig, and Sean Turner. Sakimura, Jim Schaad, Hannes Tschofenig, and Sean Turner.
Jim Schaad and Karen O'Donoghue chaired the JOSE working group and Jim Schaad and Karen O'Donoghue chaired the JOSE working group and
Sean Turner, Stephen Farrell, and Kathleen Moriarty served as Sean Turner, Stephen Farrell, and Kathleen Moriarty served as
Security area directors during the creation of this specification. Security area directors during the creation of this specification.
Appendix D. Document History Appendix D. Document History
[[ to be removed by the RFC Editor before publication as an RFC ]] [[ to be removed by the RFC Editor before publication as an RFC ]]
-37
o Restricted algorithm names to using only ASCII characters.
o When describing actions taken as a result of validation failures,
changed statements about rejecting the JWE to statements about
considering the JWE to be invalid.
o Added the CRT parameter values to example RSA private key
representations.
-36 -36
o Defined a flattened JWE JSON Serialization syntax, which is o Defined a flattened JWE JSON Serialization syntax, which is
optimized for the single recipient case. optimized for the single recipient case.
o Clarified where white space and line breaks may occur in JSON o Clarified where white space and line breaks may occur in JSON
objects by referencing Section 2 of RFC 7159. objects by referencing Section 2 of RFC 7159.
-35 -35
 End of changes. 18 change blocks. 
58 lines changed or deleted 99 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/