aries_cloudagent.indy.credx package

Submodules

aries_cloudagent.indy.credx.holder module

Indy holder implementation.

class aries_cloudagent.indy.credx.holder.IndyCredxHolder(profile: aries_cloudagent.askar.profile.AskarProfile)[source]

Bases: aries_cloudagent.indy.holder.IndyHolder

Indy-credx holder class.

create_credential_request(credential_offer: dict, credential_definition: dict, holder_did: str) → Tuple[str, str][source]

Create a credential request for the given credential offer.

Parameters:
  • credential_offer – The credential offer to create request for
  • credential_definition – The credential definition to create an offer for
  • holder_did – the DID of the agent making the request
Returns:

A tuple of the credential request and credential request metadata

create_presentation(presentation_request: dict, requested_credentials: dict, schemas: dict, credential_definitions: dict, rev_states: dict = None) → str[source]

Get credentials stored in the wallet.

Parameters:
  • presentation_request – Valid indy format presentation request
  • requested_credentials – Indy format requested credentials
  • schemas – Indy formatted schemas JSON
  • credential_definitions – Indy formatted credential definitions JSON
  • rev_states – Indy format revocation states JSON
create_revocation_state(cred_rev_id: str, rev_reg_def: dict, rev_reg_delta: dict, timestamp: int, tails_file_path: str) → str[source]

Create current revocation state for a received credential.

Parameters:
  • cred_rev_id – credential revocation id in revocation registry
  • rev_reg_def – revocation registry definition
  • rev_reg_delta – revocation delta
  • timestamp – delta timestamp
Returns:

the revocation state

credential_revoked(ledger: aries_cloudagent.ledger.base.BaseLedger, credential_id: str, fro: int = None, to: int = None) → bool[source]

Check ledger for revocation status of credential by cred id.

Parameters:credential_id – Credential id to check
delete_credential(credential_id: str)[source]

Remove a credential stored in the wallet.

Parameters:credential_id – Credential id to remove
get_credential(credential_id: str) → str[source]

Get a credential stored in the wallet.

Parameters:credential_id – Credential id to retrieve
get_credentials(start: int, count: int, wql: dict)[source]

Get credentials stored in the wallet.

Parameters:
  • start – Starting index
  • count – Number of records to return
  • wql – wql query dict
get_credentials_for_presentation_request_by_referent(presentation_request: dict, referents: Sequence[str], start: int, count: int, extra_query: dict = {})[source]

Get credentials stored in the wallet.

Parameters:
  • presentation_request – Valid presentation request from issuer
  • referents – Presentation request referents to use to search for creds
  • start – Starting index
  • count – Maximum number of records to return
  • extra_query – wql query dict

Get or create the default link secret.

get_mime_type(credential_id: str, attr: str = None) → Union[dict, str][source]

Get MIME type per attribute (or for all attributes).

Parameters:
  • credential_id – credential id
  • attr – attribute of interest or omit for all
Returns: Attribute MIME type or dict mapping attribute names to MIME types
attr_meta_json = all_meta.tags.get(attr)
profile

Accessor for the profile instance.

store_credential(credential_definition: dict, credential_data: dict, credential_request_metadata: dict, credential_attr_mime_types: dict = None, credential_id: str = None, rev_reg_def: dict = None) → str[source]

Store a credential in the wallet.

Parameters:
  • credential_definition – Credential definition for this credential
  • credential_data – Credential data generated by the issuer
  • credential_request_metadata – credential request metadata generated by the issuer
  • credential_attr_mime_types – dict mapping attribute names to (optional) MIME types to store as non-secret record, if specified
  • credential_id – optionally override the stored credential id
  • rev_reg_def – revocation registry definition in json
Returns:

the ID of the stored credential

aries_cloudagent.indy.credx.issuer module

Indy issuer implementation.

class aries_cloudagent.indy.credx.issuer.IndyCredxIssuer(profile: aries_cloudagent.askar.profile.AskarProfile)[source]

Bases: aries_cloudagent.indy.issuer.IndyIssuer

Indy-Credx issuer class.

create_and_store_credential_definition(origin_did: str, schema: dict, signature_type: str = None, tag: str = None, support_revocation: bool = False) → Tuple[str, str][source]

Create a new credential definition and store it in the wallet.

Parameters:
  • origin_did – the DID issuing the credential definition
  • schema_json – the schema used as a basis
  • signature_type – the credential definition signature type (default ‘CL’)
  • tag – the credential definition tag
  • support_revocation – whether to enable revocation for this credential def
Returns:

A tuple of the credential definition ID and JSON

create_and_store_revocation_registry(origin_did: str, cred_def_id: str, revoc_def_type: str, tag: str, max_cred_num: int, tails_base_path: str) → Tuple[str, str, str][source]

Create a new revocation registry and store it in the wallet.

Parameters:
  • origin_did – the DID issuing the revocation registry
  • cred_def_id – the identifier of the related credential definition
  • revoc_def_type – the revocation registry type (default CL_ACCUM)
  • tag – the unique revocation registry tag
  • max_cred_num – the number of credentials supported in the registry
  • tails_base_path – where to store the tails file
  • issuance_type – optionally override the issuance type
Returns:

A tuple of the revocation registry ID, JSON, and entry JSON

create_credential(schema: dict, credential_offer: dict, credential_request: dict, credential_values: dict, revoc_reg_id: str = None, tails_file_path: str = None) → Tuple[str, str][source]

Create a credential.

Args
schema: Schema to create credential for credential_offer: Credential Offer to create credential for credential_request: Credential request to create credential for credential_values: Values to go in credential revoc_reg_id: ID of the revocation registry tails_file_path: The location of the tails file
Returns:A tuple of created credential and revocation id
create_credential_offer(credential_definition_id: str) → str[source]

Create a credential offer for the given credential definition id.

Parameters:credential_definition_id – The credential definition to create an offer for
Returns:The new credential offer
create_schema(origin_did: str, schema_name: str, schema_version: str, attribute_names: Sequence[str]) → Tuple[str, str][source]

Create a new credential schema and store it in the wallet.

Parameters:
  • origin_did – the DID issuing the credential definition
  • schema_name – the schema name
  • schema_version – the schema version
  • attribute_names – a sequence of schema attribute names
Returns:

A tuple of the schema ID and JSON

credential_definition_in_wallet(credential_definition_id: str) → bool[source]

Check whether a given credential definition ID is present in the wallet.

Parameters:credential_definition_id – The credential definition ID to check
merge_revocation_registry_deltas(fro_delta: str, to_delta: str) → str[source]

Merge revocation registry deltas.

Parameters:
  • fro_delta – original delta in JSON format
  • to_delta – incoming delta in JSON format
Returns:

Merged delta in JSON format

profile

Accessor for the profile instance.

revoke_credentials(cred_def_id: str, revoc_reg_id: str, tails_file_path: str, cred_revoc_ids: Sequence[str]) → Tuple[str, Sequence[str]][source]

Revoke a set of credentials in a revocation registry.

Parameters:
  • cred_def_id – ID of the credential definition
  • revoc_reg_id – ID of the revocation registry
  • tails_file_path – path to the local tails file
  • cred_revoc_ids – sequences of credential indexes in the revocation registry
Returns:

Tuple with the combined revocation delta, list of cred rev ids not revoked

aries_cloudagent.indy.credx.verifier module

Indy-Credx verifier implementation.

class aries_cloudagent.indy.credx.verifier.IndyCredxVerifier(profile: aries_cloudagent.core.profile.Profile)[source]

Bases: aries_cloudagent.indy.verifier.IndyVerifier

Indy-Credx verifier class.

verify_presentation(pres_req, pres, schemas, credential_definitions, rev_reg_defs, rev_reg_entries) → Tuple[bool, list][source]

Verify a presentation.

Parameters:
  • pres_req – Presentation request data
  • pres – Presentation data
  • schemas – Schema data
  • credential_definitions – credential definition data
  • rev_reg_defs – revocation registry definitions
  • rev_reg_entries – revocation registry entries