JSON Web Algorithms
JSON Web Algorithms.
https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
- class josepy.jwa.JWASignature(name: str)[source]
Base class for JSON Web Signature Algorithms.
- classmethod register(signature_cls: JWASignature) JWASignature [source]
Register class for JSON deserialization.
- to_partial_json() Any [source]
Partially serialize.
Following the example, partial serialization means the following:
assert isinstance(Bar().to_partial_json()[0], Foo) assert isinstance(Bar().to_partial_json()[1], Foo) # in particular... assert Bar().to_partial_json() != ['foo', 'foo']
- Raises:
josepy.errors.SerializationError – in case of any serialization error.
- Returns:
Partially serializable object.
- classmethod from_json(jobj: Any) JWASignature [source]
Deserialize a decoded JSON document.
- Parameters:
jobj – Python object, composed of only other basic data types, as decoded from JSON document. Not necessarily
dict
(as decoded from “JSON object” document).- Raises:
josepy.errors.DeserializationError – if decoding was unsuccessful, e.g. in case of unparseable X509 certificate, or wrong padding in JOSE base64 encoded string, etc.
- josepy.jwa.HS256 = HS256
HMAC using SHA-256
- josepy.jwa.HS384 = HS384
HMAC using SHA-384
- josepy.jwa.HS512 = HS512
HMAC using SHA-512
- josepy.jwa.RS256 = RS256
RSASSA-PKCS-v1_5 using SHA-256
- josepy.jwa.RS384 = RS384
RSASSA-PKCS-v1_5 using SHA-384
- josepy.jwa.RS512 = RS512
RSASSA-PKCS-v1_5 using SHA-512
- josepy.jwa.PS256 = PS256
RSASSA-PSS using SHA-256 and MGF1 with SHA-256
- josepy.jwa.PS384 = PS384
RSASSA-PSS using SHA-384 and MGF1 with SHA-384
- josepy.jwa.PS512 = PS512
RSASSA-PSS using SHA-512 and MGF1 with SHA-512
- josepy.jwa.ES256 = ES256
ECDSA using P-256 and SHA-256
- josepy.jwa.ES384 = ES384
ECDSA using P-384 and SHA-384
- josepy.jwa.ES512 = ES512
ECDSA using P-521 and SHA-512