JSON Web Key
JSON Web Key.
- class josepy.jwk.JWK(**kwargs: Any)[source]
JSON Web Key.
- type_field_name: str = 'kty'
Field name used to distinguish different object types.
Subclasses will probably have to override this.
- TYPES: Dict[str, Type[JWK]] = {'EC': <class 'josepy.jwk.JWKEC'>, 'RSA': <class 'josepy.jwk.JWKRSA'>, 'oct': <class 'josepy.jwk.JWKOct'>}
Types registered for JSON deserialization
- required: Sequence[str] = NotImplemented
Required members of public key’s representation as defined by JWK/JWA.
- thumbprint(hash_function: ~typing.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() JWK [source]
Generate JWK with public key.
For symmetric cryptosystems, this would return
self
.
- class josepy.jwk.JWKOct(**kwargs: Any)[source]
Symmetric JWK.
- required: Sequence[str] = ('k', 'kty')
Required members of public key’s representation as defined by JWK/JWA.
- class josepy.jwk.JWKRSA(*args: Any, **kwargs: Any)[source]
RSA JWK.
- Variables:
key –
RSAPrivateKey
orRSAPublicKey
wrapped inComparableRSAKey
- cryptography_key_types: Tuple[Type[Any], ...] = (<class 'cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey'>, <class 'cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey'>)
Subclasses should override.
- required: Sequence[str] = ('e', 'kty', 'n')
Required members of public key’s representation as defined by JWK/JWA.
- public_key() 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
- cryptography_key_types: Tuple[Type[Any], ...] = (<class 'cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey'>, <class 'cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey'>)
Subclasses should override.