JSON Web Key
JSON Web Key.
- class josepy.jwk.JWK(**kwargs: Any)[source]
JSON Web Key.
- cryptography_key_types: Tuple[Type[Any], ...] = ()
Subclasses should override.
- required: Sequence[str] = NotImplemented
Required members of public key’s representation as defined by JWK/JWA.
- thumbprint(hash_function: Callable[[], cryptography.hazmat.primitives.hashes.HashAlgorithm] = <class 'cryptography.hazmat.primitives.hashes.SHA256'>) bytes [source]
Compute JWK Thumbprint.
https://tools.ietf.org/html/rfc7638
- Returns
bytes
- abstract public_key() josepy.jwk.JWK [source]
Generate JWK with public key.
For symmetric cryptosystems, this would return
self
.
- classmethod load(data: bytes, password: Optional[bytes] = None, backend: Optional[Any] = None) josepy.jwk.JWK [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
andDERSerializationBackend
provider.
- Raises
errors.Error – if unable to deserialize, or unsupported JWK algorithm
- Returns
JWK of an appropriate type.
- Return type
- class josepy.jwk.JWKOct(**kwargs: Any)[source]
Symmetric JWK.
- public_key() josepy.jwk.JWKOct [source]
Generate JWK with public key.
For symmetric cryptosystems, this would return
self
.
- class josepy.jwk.JWKRSA(*args: Any, **kwargs: Any)[source]
RSA JWK.
- Variables
key –
RSAPrivateKey
orRSAPublicKey
wrapped inComparableRSAKey
- public_key() josepy.jwk.JWKRSA [source]
Generate JWK with public key.
For symmetric cryptosystems, this would return
self
.
- class josepy.jwk.JWKEC(*args: Any, **kwargs: Any)[source]
EC JWK.
- Variables
key –
EllipticCurvePrivateKey
orEllipticCurvePublicKey
wrapped inComparableECKey
- public_key() josepy.jwk.JWKEC [source]
Generate JWK with public key.
For symmetric cryptosystems, this would return
self
.