aries_cloudagent.protocols.present_proof.dif package
Submodules
aries_cloudagent.protocols.present_proof.dif.pres_exch module
Schemas for dif presentation exchange attachment.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.ClaimFormat(*, jwt: Optional[Mapping] = None, jwt_vc: Optional[Mapping] = None, jwt_vp: Optional[Mapping] = None, ldp: Optional[Mapping] = None, ldp_vc: Optional[Mapping] = None, ldp_vp: Optional[Mapping] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Defines Claim field.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.ClaimFormatSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single ClaimFormat Schema.
- class Meta[source]
Bases:
object
ClaimFormatSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.ClaimFormat
- jwt
- jwt_vc
- jwt_vp
- ldp
- ldp_vc
- ldp_vp
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints(*, subject_issuer: Optional[str] = None, limit_disclosure: Optional[bool] = None, holders: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFHolder]] = None, _fields: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField]] = None, status_active: Optional[str] = None, status_suspended: Optional[str] = None, status_revoked: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Constraints which describes InputDescriptor’s Contraint field.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.ConstraintsSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Constraints Schema.
- class Meta[source]
Bases:
object
ConstraintsSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints
- extract_info(data, **kwargs)
Support deserialization of statuses according to DIF spec.
- holders
- limit_disclosure
- reformat_data(data, **kwargs)
Support serialization of statuses according to DIF spec.
- status_active
- status_revoked
- status_suspended
- subject_issuer
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField(*, id: Optional[str] = None, paths: Optional[Sequence[str]] = None, purpose: Optional[str] = None, predicate: Optional[str] = None, _filter: Optional[aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Field object for the Constraint.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFFieldSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Field Schema.
- class Meta[source]
Bases:
object
DIFFieldSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField
- id
- paths
- predicate
- purpose
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFHolder(*, field_ids: Optional[Sequence[str]] = None, directive: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Holder object for Constraints.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFHolderSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Holder Schema.
- class Meta[source]
Bases:
object
DIFHolderSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFHolder
- directive
- field_ids
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFOptions(*, challenge: Optional[str] = None, domain: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single DIFOptions object.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFOptionsSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Schema for options required for the Prover to fulfill the Verifier’s request.
- class Meta[source]
Bases:
object
DIFOptionsSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFOptions
- challenge
- domain
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter(*, _not: bool = False, _type: Optional[str] = None, fmt: Optional[str] = None, pattern: Optional[str] = None, minimum: Optional[str] = None, maximum: Optional[str] = None, min_length: Optional[int] = None, max_length: Optional[int] = None, exclusive_min: Optional[str] = None, exclusive_max: Optional[str] = None, const: Optional[str] = None, enums: Optional[Sequence[str]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Filter for the Constraint object.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.FilterSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Filter Schema.
- class Meta[source]
Bases:
object
FilterSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter
- const
String or Number field for Marshmallow.
- enums
- exclusive_max
String or Number field for Marshmallow.
- exclusive_min
String or Number field for Marshmallow.
- extract_info(data, **kwargs)
Enum validation and not filter logic.
- fmt
- max_length
- maximum
String or Number field for Marshmallow.
- min_length
- minimum
String or Number field for Marshmallow.
- pattern
- serialize_reformat(data, **kwargs)
Support serialization of not filter according to DIF spec.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping(*, id: Optional[str] = None, fmt: Optional[str] = None, path: Optional[str] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single InputDescriptorMapping object.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMappingSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single InputDescriptorMapping Schema.
- class Meta[source]
Bases:
object
InputDescriptorMappingSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping
- fmt
- id
- path
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors(*, id: Optional[str] = None, groups: Optional[Sequence[str]] = None, name: Optional[str] = None, purpose: Optional[str] = None, metadata: Optional[dict] = None, constraint: Optional[aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints] = None, schemas: Optional[aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Input Descriptors.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorsSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single InputDescriptors Schema.
- class Meta[source]
Bases:
object
InputDescriptorsSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors
- constraint
- groups
- id
- metadata
- name
- purpose
- schemas
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition(*, id: Optional[str] = None, name: Optional[str] = None, purpose: Optional[str] = None, fmt: Optional[aries_cloudagent.protocols.present_proof.dif.pres_exch.ClaimFormat] = None, submission_requirements: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements]] = None, input_descriptors: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors]] = None, **kwargs)[source]
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinitionSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Presentation Definition Schema.
- class Meta[source]
Bases:
object
PresentationDefinitionSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition
- fmt
- id
- input_descriptors
- name
- purpose
- submission_requirements
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationSubmission(*, id: Optional[str] = None, definition_id: Optional[str] = None, descriptor_maps: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single PresentationSubmission object.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationSubmissionSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single PresentationSubmission Schema.
- class Meta[source]
Bases:
object
PresentationSubmissionSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationSubmission
- definition_id
- descriptor_maps
- id
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement(*, count: Optional[int] = None, maximum: Optional[int] = None, minimum: Optional[int] = None, input_descriptors: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors]] = None, nested_req: Optional[Sequence] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single Requirement generated from toRequirement function.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.RequirementSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Requirement Schema.
- class Meta[source]
Bases:
object
RequirementSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement
- count
- input_descriptors
- maximum
- minimum
- nested_req
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptor(*, uri: Optional[str] = None, required: Optional[bool] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
SchemaInputDescriptor.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptorSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single SchemaField Schema.
- class Meta[source]
Bases:
object
SchemaInputDescriptorSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptor
- required
- uri
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter(*, oneof_filter: bool = False, uri_groups: Optional[Sequence[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemaInputDescriptor]]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
SchemasInputDescriptorFilter.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilterSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single SchemasInputDescriptorFilterSchema Schema.
- class Meta[source]
Bases:
object
SchemasInputDescriptorFilterSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter
- extract_info(data, **kwargs)
deserialize.
- oneof_filter
- uri_groups
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements(*, _name: Optional[str] = None, purpose: Optional[str] = None, rule: Optional[str] = None, count: Optional[int] = None, minimum: Optional[int] = None, maximum: Optional[int] = None, _from: Optional[str] = None, from_nested: Optional[Sequence] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
describes input to be submitted via a presentation submission.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirementsSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Presentation Definition Schema.
- class Meta[source]
Bases:
object
SubmissionRequirementsSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements
- count
- from_nested
- maximum
- minimum
- purpose
- rule
- validate_from(data, **kwargs)
Support validation of from and from_nested.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.VerifiablePresentation(*, id: Optional[str] = None, contexts: Optional[Sequence[Union[str, dict]]] = None, types: Optional[Sequence[str]] = None, credentials: Optional[Sequence[dict]] = None, proof: Optional[Sequence[dict]] = None, presentation_submission: Optional[aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationSubmission] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Single VerifiablePresentation object.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch.VerifiablePresentationSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Single Verifiable Presentation Schema.
- class Meta[source]
Bases:
object
VerifiablePresentationSchema metadata.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_exch.VerifiablePresentation
- contexts
- credentials
- id
- presentation_submission
- proof
- types
aries_cloudagent.protocols.present_proof.dif.pres_exch_handler module
Utilities for dif presentation exchange attachment.
General Flow: create_vp -> make_requirement [create a Requirement from SubmissionRequirements and Descriptors] -> apply_requirement [filter credentials] -> merge [return applicable credential list and descriptor_map for presentation_submission] returns VerifiablePresentation
- exception aries_cloudagent.protocols.present_proof.dif.pres_exch_handler.DIFPresExchError(*args, error_code: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.core.error.BaseError
Base class for DIF Presentation Exchange related errors.
- class aries_cloudagent.protocols.present_proof.dif.pres_exch_handler.DIFPresExchHandler(profile: aries_cloudagent.core.profile.Profile, pres_signing_did: Optional[str] = None, proof_type: Optional[str] = None, reveal_doc: Optional[dict] = None)[source]
Bases:
object
Base Presentation Exchange Handler.
- DERIVED_PROOF_TYPE_SIGNATURE_SUITE_MAPPING = {'BbsBlsSignatureProof2020': <class 'aries_cloudagent.vc.ld_proofs.suites.bbs_bls_signature_proof_2020.BbsBlsSignatureProof2020'>}
- DERIVE_SIGNATURE_SUITE_KEY_TYPE_MAPPING = {<class 'aries_cloudagent.vc.ld_proofs.suites.bbs_bls_signature_proof_2020.BbsBlsSignatureProof2020'>: <aries_cloudagent.wallet.key_type.KeyType object>}
- ISSUE_SIGNATURE_SUITE_KEY_TYPE_MAPPING = {<class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2018.Ed25519Signature2018'>: <aries_cloudagent.wallet.key_type.KeyType object>}
- PROOF_TYPE_SIGNATURE_SUITE_MAPPING = {'Ed25519Signature2018': <class 'aries_cloudagent.vc.ld_proofs.suites.ed25519_signature_2018.Ed25519Signature2018'>}
- async apply_constraint_received_cred(constraint: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints, cred_dict: dict) bool [source]
Evaluate constraint from the request against received credential.
- async apply_requirements(req: aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement, credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], records_filter: Optional[dict] = None) dict [source]
Apply Requirement.
- Parameters
req – Requirement
credentials – Sequence of credentials to check against
- Returns
dict of input_descriptor ID key to list of credential_json
- build_nested_paths_dict(key: str, value: str, nested_field_paths: dict, cred_dict: dict) dict [source]
Build and return nested_field_paths dict.
- check_attr_in_extracted_dict(extracted_dict: dict, nested_attr_values: dict) bool [source]
Check if keys of extracted_dict exists in nested_attr_values.
- check_filter_only_type_enforced(_filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Check if only type is specified in filter.
- Parameters
_filter – Filter
- Returns
bool
- check_if_cred_id_derived(id: str) bool [source]
Check if credential or credentialSubjet id is derived.
- const_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Const check.
Returns True if value is equal to filter specified check
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- contains(data: Sequence[str], e: str) bool [source]
Check for e in data.
Returns True if e exists in data else return False
- Parameters
data – Sequence of str
e – str value to check
- Returns
bool
- create_vcrecord(cred_dict: dict) aries_cloudagent.storage.vc_holder.vc_record.VCRecord [source]
Return VCRecord from a credential dict.
- async create_vp(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], pd: aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition, challenge: Optional[str] = None, domain: Optional[str] = None, records_filter: Optional[dict] = None) Union[Sequence[dict], dict] [source]
Create VerifiablePresentation.
- Parameters
credentials – Sequence of VCRecords
pd – PresentationDefinition
- Returns
VerifiablePresentation
- credential_match_schema(credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord, schema_id: str) bool [source]
Credential matching by schema.
Used by filter_schema to check if credential.schema_ids or credential.types matched with schema_id
- Parameters
credential – VCRecord to check
schema_id – schema uri to check
- Returns
bool
- enum_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Enum check.
Returns True if value is contained to filter specified list
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- exclusive_maximum_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Exclusivemaximum check.
Returns True if value less than filter specified check
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- exclusive_minimum_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Exclusiveminimum check.
Returns True if value greater than filter specified check
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- field_ids_for_is_holder(constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints) Sequence[str] [source]
Return list of field ids for whose subject holder verification is requested.
- async filter_by_field(field: aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField, credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord) bool [source]
Apply filter on VCRecord.
Checks if a credential is applicable
- Parameters
field – Field contains filtering spec
credential – credential to apply filtering on
- Returns
bool
- async filter_constraints(constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints, credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord]) Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord] [source]
Return list of applicable VCRecords after applying filtering.
- Parameters
constraints – Constraints
credentials – Sequence of credentials to apply filtering on
- Returns
Sequence of applicable VCRecords
- async filter_creds_record_id(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], records_list: Sequence[str]) Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord] [source]
Return filtered list of credentials using records_list.
- async filter_schema(credentials: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], schemas: aries_cloudagent.protocols.present_proof.dif.pres_exch.SchemasInputDescriptorFilter) Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord] [source]
Filter by schema.
Returns list of credentials where credentialSchema.id or types matched with input_descriptors.schema.uri
- Parameters
credentials – list of VCRecords to check
schemas – list of schemas from the input_descriptors
- Returns
Sequence of filtered VCRecord
- get_dict_keys_from_path(derived_cred_dict: dict, path: str) List [source]
Return additional_attrs to build nested_field_paths.
- async get_sign_key_credential_subject_id(applicable_creds: Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord]) Tuple[Optional[str], Sequence[dict]] [source]
Get the issuer_id and filtered_creds from enclosed credentials subject_ids.
- async get_updated_field(field: aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField, cred: dict) aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFField [source]
Return field with updated json path, if necessary.
- async get_updated_path(cred_dict: dict, json_path: str) str [source]
Return updated json path, if necessary.
- is_len_applicable(req: aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement, val: int) bool [source]
Check and validate requirement minimum, maximum and count.
- Parameters
req – Requirement
val – int value to check
- Returns
bool
- is_numeric(val: any)[source]
Check if val is an int or float.
- Parameters
val – to check
- Returns
numeric value
- Raises
DIFPresExchError – Provided value has invalid/incompatible type
- length_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Length check.
Returns True if length value string meets the minLength and maxLength specs
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- async make_requirement(srs: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements]] = None, descriptors: Optional[Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors]] = None) aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement [source]
Return Requirement.
Creates and return Requirement with nesting if required using to_requirement()
- Parameters
srs – list of submission_requirements
descriptors – list of input_descriptors
- Raises
DIFPresExchError – If not able to create requirement
- maximum_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Maximum check.
Returns True if value less than equal to filter specified check
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- async merge(dict_descriptor_creds: dict) Tuple[Sequence[aries_cloudagent.storage.vc_holder.vc_record.VCRecord], Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptorMapping]] [source]
Return applicable credentials and descriptor_map for attachment.
Used for generating the presentation_submission property with the descriptor_map, mantaining the order in which applicable credential list is returned.
- Parameters
dict_descriptor_creds – dict with input_descriptor.id as keys
merged_credentials_list (and) –
- Returns
Tuple of applicable credential list and descriptor map
- async merge_nested_results(nested_result: Sequence[dict], exclude: dict) dict [source]
Merge nested results with merged credentials.
- Parameters
nested_result – Sequence of dict containing input_descriptor.id as keys and list of creds as values
exclude – dict containing info about credentials to exclude
- Returns
dict with input_descriptor.id as keys and merged_credentials_list as values
- minimum_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Minimum check.
Returns True if value greater than equal to filter specified check
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- nested_get(input_dict: dict, path: str) Union[Dict, List] [source]
Return dict or list from nested dict given list of nested_key.
- new_credential_builder(new_credential: dict, unflatten_dict: dict) dict [source]
Update and return the new_credential.
- Parameters
new_credential – credential dict to be updated and returned
unflatten_dict – dict with traversal path as key and match_value as value
- Returns
dict
- pattern_check(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Pattern check.
Returns True if value string matches the specified pattern
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- async process_constraint_holders(subject_ids: Sequence[str]) bool [source]
Check if holder or subject of claim still controls the identifier.
- process_numeric_val(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Trigger Filter checks.
Trigger appropriate check for a number type filter, according to _filter spec.
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- process_string_val(val: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Trigger Filter checks.
Trigger appropriate check for a string type filter, according to _filter spec.
- Parameters
val – value to check, extracted from match
_filter – Filter
- Returns
bool
- async restrict_field_paths_one_of_filter(field_paths: Sequence[str], cred_dict: dict) Sequence[str] [source]
Return field_paths that are applicable to oneof_filter.
- reveal_doc(credential_dict: dict, constraints: aries_cloudagent.protocols.present_proof.dif.pres_exch.Constraints)[source]
Generate reveal_doc dict for deriving credential.
- string_to_timezone_aware_datetime(datetime_str: str) datetime.datetime [source]
Convert string with PYTZ timezone to datetime for comparison.
- subject_is_issuer(credential: aries_cloudagent.storage.vc_holder.vc_record.VCRecord) bool [source]
subject_is_issuer check.
Returns True if cred issuer_id is in subject_ids
- Parameters
credential – VCRecord
- Returns
bool
- async to_requirement(sr: aries_cloudagent.protocols.present_proof.dif.pres_exch.SubmissionRequirements, descriptors: Sequence[aries_cloudagent.protocols.present_proof.dif.pres_exch.InputDescriptors]) aries_cloudagent.protocols.present_proof.dif.pres_exch.Requirement [source]
Return Requirement.
- Parameters
sr – submission_requirement
descriptors – list of input_descriptors
- Raises
DIFPresExchError – If not able to create requirement
- validate_patch(to_check: any, _filter: aries_cloudagent.protocols.present_proof.dif.pres_exch.Filter) bool [source]
Apply filter on match_value.
Utility function used in applying filtering to a cred by triggering checks according to filter specification
- Parameters
to_check – value to check, extracted from match
_filter – Filter
- Returns
bool
- async verify_received_pres(pd: aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition, pres: Union[Sequence[dict], dict])[source]
Verify credentials received in presentation.
- Parameters
pres – received VerifiablePresentation
pd – PresentationDefinition
aries_cloudagent.protocols.present_proof.dif.pres_proposal_schema module
DIF Proof Proposal Schema.
aries_cloudagent.protocols.present_proof.dif.pres_request_schema module
DIF Proof Request Schema.
- class aries_cloudagent.protocols.present_proof.dif.pres_request_schema.DIFPresSpecSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Schema for DIF Presentation Spec schema.
- issuer_id
- presentation_definition
- record_ids
- reveal_doc
- class aries_cloudagent.protocols.present_proof.dif.pres_request_schema.DIFProofRequest(presentation_definition: Optional[Union[dict, aries_cloudagent.protocols.present_proof.dif.pres_exch.PresentationDefinition]], options: Optional[Union[dict, aries_cloudagent.protocols.present_proof.dif.pres_exch.DIFOptions]] = None)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
DIF presentation request input detail.
- class aries_cloudagent.protocols.present_proof.dif.pres_request_schema.DIFProofRequestSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Schema for DIF presentation request.
- class Meta[source]
Bases:
object
Accept parameter overload.
- model_class
alias of
aries_cloudagent.protocols.present_proof.dif.pres_request_schema.DIFProofRequest
- options
- presentation_definition
aries_cloudagent.protocols.present_proof.dif.pres_schema module
DIF Proof Schema.