JSON Web Key

JSON Web Key.

class josepy.jwk.JWK(**kwargs)[source]

JSON Web Key.

cryptography_key_types = ()

Subclasses should override.

required = NotImplemented

Required members of public key’s representation as defined by JWK/JWA.

thumbprint(hash_function=<class 'cryptography.hazmat.primitives.hashes.SHA256'>)[source]

Compute JWK Thumbprint.

https://tools.ietf.org/html/rfc7638

Returns

bytes

abstract public_key()[source]

Generate JWK with public key.

For symmetric cryptosystems, this would return self.

classmethod load(data, password=None, backend=None)[source]

Load serialized key as JWK.

Parameters
  • data (str) – Public or private key serialized as PEM or DER.

  • password (str) – Optional password.

  • backend – A PEMSerializationBackend and DERSerializationBackend provider.

Raises

errors.Error – if unable to deserialize, or unsupported JWK algorithm

Returns

JWK of an appropriate type.

Return type

JWK

class josepy.jwk.JWKES(**kwargs)[source]

ES JWK.

Warning

This is not yet implemented!

fields_to_partial_json()[source]

Serialize fields to JSON.

classmethod fields_from_json(jobj)[source]

Deserialize fields from JSON.

public_key()[source]

Generate JWK with public key.

For symmetric cryptosystems, this would return self.

class josepy.jwk.JWKOct(**kwargs)[source]

Symmetric JWK.

fields_to_partial_json()[source]

Serialize fields to JSON.

classmethod fields_from_json(jobj)[source]

Deserialize fields from JSON.

public_key()[source]

Generate JWK with public key.

For symmetric cryptosystems, this would return self.

class josepy.jwk.JWKRSA(*args, **kwargs)[source]

RSA JWK.

Variables

keyRSAPrivateKey or RSAPublicKey wrapped in ComparableRSAKey

public_key()[source]

Generate JWK with public key.

For symmetric cryptosystems, this would return self.

classmethod fields_from_json(jobj)[source]

Deserialize fields from JSON.

fields_to_partial_json()[source]

Serialize fields to JSON.