Passa al contenuto principale

1. Introduction (Introduzione)

JSON Web Encryption (JWE) rappresenta il contenuto crittografato utilizzando strutture dati basate su JSON [RFC7159]. I meccanismi crittografici JWE crittografano e forniscono protezione dell'integrità per una sequenza arbitraria di ottetti.

Due serializzazioni strettamente correlate sono definite per JWE. La JWE Compact Serialization (serializzazione compatta JWE) è una rappresentazione compatta e sicura per URL, destinata ad ambienti con vincoli di spazio come gli header HTTP Authorization e i parametri di query URI. La JWE JSON Serialization (serializzazione JSON JWE) rappresenta i JWE come oggetti JSON e consente la crittografia dello stesso contenuto per più parti. Entrambe condividono le stesse basi crittografiche.

Gli algoritmi crittografici e gli identificatori da utilizzare con questa specifica sono descritti nella specifica separata JSON Web Algorithms (JWA) [JWA] e nei registri IANA definiti da quella specifica. Le capacità di firma digitale e MAC correlate sono descritte nella specifica separata JSON Web Signature (JWS) [JWS].

I nomi definiti da questa specifica sono brevi, poiché un obiettivo centrale è rendere compatte le rappresentazioni risultanti.

1.1 Notational Conventions (Convenzioni di notazione)​

Le parole chiave "MUST" (deve), "MUST NOT" (non deve), "REQUIRED" (richiesto), "SHALL" (deve), "SHALL NOT" (non deve), "SHOULD" (dovrebbe), "SHOULD NOT" (non dovrebbe), "RECOMMENDED" (raccomandato), "NOT RECOMMENDED" (non raccomandato), "MAY" (può) e "OPTIONAL" (opzionale) in questo documento devono essere interpretate come descritto in "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119]. L'interpretazione deve essere applicata solo quando i termini appaiono in lettere maiuscole.

BASE64URL(OCTETS) denota la codifica base64url di OCTETS, secondo la Sezione 2 di [JWS].

UTF8(STRING) denota gli ottetti della rappresentazione UTF-8 [RFC3629] di STRING, dove STRING è una sequenza di zero o più caratteri Unicode [UNICODE].

ASCII(STRING) denota gli ottetti della rappresentazione ASCII [RFC20] di STRING, dove STRING è una sequenza di zero o più caratteri ASCII.

La concatenazione di due valori A e B è denotata come A || B.