JSON Web Signature¶
JSON Web Signature.
-
class
josepy.jws.
MediaType
[source]¶ Bases:
object
MediaType field encoder/decoder.
-
PREFIX
= 'application/'¶ MIME Media Type and Content Type prefix.
-
-
class
josepy.jws.
Header
(**kwargs)[source]¶ Bases:
josepy.json_util.JSONObjectWithFields
JOSE Header.
Warning
This class supports only Registered Header Parameter Names (as defined in section 4.1 of the protocol). If you need Public Header Parameter Names (4.2) or Private Header Parameter Names (4.3), you must subclass and override
from_json()
andto_partial_json()
appropriately.Warning
This class does not support any extensions through the “crit” (Critical) Header Parameter (4.1.11) and as a conforming implementation,
from_json()
treats its occurrence as an error. Please subclass if you seek for a different behaviour.Variables: - x5tS256 – “x5t#S256”
- typ (str) – MIME Media Type, inc.
MediaType.PREFIX
. - cty (str) – Content-Type, inc.
MediaType.PREFIX
.
-
find_key
()[source]¶ Find key based on header.
Todo
Supports only “jwk” header parameter lookup.
Returns: (Public) key found in the header. Return type: JWK Raises: josepy.errors.Error – if key could not be found
-
class
josepy.jws.
Signature
(**kwargs)[source]¶ Bases:
josepy.json_util.JSONObjectWithFields
JWS Signature.
Variables:
-
class
josepy.jws.
JWS
(**kwargs)[source]¶ Bases:
josepy.json_util.JSONObjectWithFields
JSON Web Signature.
Variables: - payload (str) – JWS Payload.
- signature (str) – JWS Signatures.
-
signature
¶ Get a singleton signature.
Return type: JWS.signature_cls
-
to_partial_json
(flat=True)[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.