pyeudiw.federation package

Subpackages

Submodules

pyeudiw.federation.exceptions module

exception pyeudiw.federation.exceptions.InvalidChainError[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidEntityConfiguration[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidEntityHeader[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidEntityStatement[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidEntityStatementPayload[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidRequiredTrustMark[source]

Bases: Exception

exception pyeudiw.federation.exceptions.InvalidTrustchain[source]

Bases: Exception

exception pyeudiw.federation.exceptions.KeyValidationError[source]

Bases: Exception

exception pyeudiw.federation.exceptions.MetadataDiscoveryException[source]

Bases: Exception

exception pyeudiw.federation.exceptions.MissingAuthorityHintsClaim[source]

Bases: Exception

exception pyeudiw.federation.exceptions.MissingJwksClaim[source]

Bases: Exception

exception pyeudiw.federation.exceptions.MissingTrustAnchorPublicKey[source]

Bases: Exception

exception pyeudiw.federation.exceptions.MissingTrustMark[source]

Bases: Exception

exception pyeudiw.federation.exceptions.NotDescendant[source]

Bases: Exception

exception pyeudiw.federation.exceptions.PolicyError[source]

Bases: Exception

exception pyeudiw.federation.exceptions.ProtocolMetadataNotFound[source]

Bases: Exception

exception pyeudiw.federation.exceptions.TimeValidationError[source]

Bases: Exception

exception pyeudiw.federation.exceptions.TrustAnchorNeeded[source]

Bases: Exception

exception pyeudiw.federation.exceptions.TrustChainHttpError[source]

Bases: HttpError

exception pyeudiw.federation.exceptions.TrustchainMissingMetadata[source]

Bases: Exception

exception pyeudiw.federation.exceptions.UnknownKid[source]

Bases: Exception

pyeudiw.federation.policy module

class pyeudiw.federation.policy.TrustChainPolicy[source]

Bases: object

apply_policy(metadata: dict, policy: dict) dict[source]

Apply a metadata policy on metadata.

Parameters:
  • metadata – Metadata statements

  • policy – A dictionary with metadata and metadata_policy as keys

Returns:

A metadata statement that adheres to a metadata policy

gather_policies(chain, entity_type)[source]

Gather and combine all the metadata policies that are defined in the trust chain :param chain: A list of Entity Statements :return: The combined metadata policy

pyeudiw.federation.policy.combine(superior: dict, sub: dict) dict[source]
Parameters:
  • rule – Dictionary with two keys metadata_policy and metadata

  • sub – Dictionary with two keys metadata_policy and metadata

Returns:

pyeudiw.federation.policy.combine_add(s1, s2)[source]
pyeudiw.federation.policy.combine_claim_policy(superior, child)[source]

Combine policy rules. Applying the child policy can only make the combined policy more restrictive.

Parameters:
  • superior – Superior policy

  • child – Intermediates policy

pyeudiw.federation.policy.combine_one_of(s1, s2)[source]
pyeudiw.federation.policy.combine_subset_of(s1, s2)[source]
pyeudiw.federation.policy.combine_superset_of(s1, s2)[source]
pyeudiw.federation.policy.do_default(superior, child, policy)[source]
pyeudiw.federation.policy.do_essential(superior, child, policy)[source]
pyeudiw.federation.policy.do_sub_one_super_add(superior, child, policy)[source]
pyeudiw.federation.policy.do_value(superior, child, policy)[source]
pyeudiw.federation.policy.gather_policies(chain, entity_type)[source]

Gather and combine all the metadata policies that are defined in the trust chain :param chain: A list of Entity Statements :return: The combined metadata policy

pyeudiw.federation.policy.union(val1, val2)[source]

pyeudiw.federation.statements module

pyeudiw.federation.trust_chain_builder module

pyeudiw.federation.trust_chain_validator module

pyeudiw.federation.utils module

pyeudiw.federation.utils.is_es(payload: dict) None[source]

Determines if payload dict is a Subordinate Entity Statement

Parameters:

payload (dict) – the object to determine if is a Subordinate Entity Statement

Module contents