JWE API¶
- jose.jwe.decrypt(jwe_str, key)¶
Decrypts a JWE compact serialized string and returns the plaintext.
- Parameters:
jwe_str (str) – A JWE to be decrypt.
key (str or dict) – A key to attempt to decrypt the payload with. Can be individual JWK or JWK set.
- Returns:
The plaintext bytes, assuming the authentication tag is valid.
- Return type:
bytes
- Raises:
JWEError – If there is an exception verifying the token.
Examples
>>> from jose import jwe >>> jwe.decrypt(jwe_string, 'asecret128bitkey') 'Hello, World!'
- jose.jwe.encrypt(plaintext, key, encryption='A256GCM', algorithm='dir', zip=None, cty=None, kid=None)¶
Encrypts plaintext and returns a JWE cmpact serialization string.
- Parameters:
plaintext (bytes) – A bytes object to encrypt
key (str or dict) – The key(s) to use for encrypting the content. Can be individual JWK or JWK set.
encryption (str, optional) – The content encryption algorithm used to perform authenticated encryption on the plaintext to produce the ciphertext and the Authentication Tag. Defaults to A256GCM.
algorithm (str, optional) – The cryptographic algorithm used to encrypt or determine the value of the CEK. Defaults to dir.
zip (str, optional) – The compression algorithm) applied to the plaintext before encryption. Defaults to None.
cty (str, optional) – The media type for the secured content. See http://www.iana.org/assignments/media-types/media-types.xhtml
kid (str, optional) – Key ID for the provided key
- Returns:
- The string representation of the header, encrypted key,
initialization vector, ciphertext, and authentication tag.
- Return type:
bytes
- Raises:
JWEError – If there is an error signing the token.
Examples
>>> from jose import jwe >>> jwe.encrypt('Hello, World!', 'asecret128bitkey', algorithm='dir', encryption='A128GCM') 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4R0NNIn0..McILMB3dYsNJSuhcDzQshA.OfX9H_mcUpHDeRM4IA.CcnTWqaqxNsjT4eCaUABSg'
- jose.jwe.get_unverified_header(jwe_str)¶
Returns the decoded headers without verification of any kind.
- Parameters:
jwe_str (str) – A compact serialized JWE to decode the headers from.
- Returns:
The dict representation of the JWE headers.
- Return type:
dict
- Raises:
JWEError – If there is an exception decoding the JWE.