JSON Web Algorithms¶
JSON Web Algorithms.
https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
-
class
josepy.jwa.JWA[source]¶ Bases:
josepy.interfaces.JSONDeSerializableJSON Web Algorithm.
-
class
josepy.jwa.JWASignature(name)[source]¶ Bases:
josepy.jwa.JWA,collections.abc.HashableBase class for JSON Web Signature Algorithms.
-
to_partial_json()[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)[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.
-
-
class
josepy.jwa._JWAHS(name, hash_)[source]¶ Bases:
josepy.jwa.JWASignature-
kty¶ alias of
josepy.jwk.JWKOct
-
-
class
josepy.jwa._JWARS(name, hash_)[source]¶ Bases:
josepy.jwa._JWARSA,josepy.jwa.JWASignature
-
class
josepy.jwa._JWAPS(name, hash_)[source]¶ Bases:
josepy.jwa._JWARSA,josepy.jwa.JWASignature
-
class
josepy.jwa._JWAES(name)[source]¶ Bases:
josepy.jwa.JWASignature
-
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