aries_cloudagent.vc.vc_ld package
- class aries_cloudagent.vc.vc_ld.CredentialSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Linked data credential schema.
Based on https://www.w3.org/TR/vc-data-model
- class Meta[source]
Bases:
object
Accept parameter overload.
- model_class
alias of
aries_cloudagent.vc.vc_ld.models.credential.VerifiableCredential
- add_unknown_properties(data: dict, original, **kwargs)
Add back unknown properties before outputting.
- context
- credential_subject
Dict or Dict List field for Marshmallow.
- expiration_date
- id
- issuance_date
- issuer
URI or Dict field for Marshmallow.
- proof
- type
- class aries_cloudagent.vc.vc_ld.LDProof(type: Optional[str] = None, proof_purpose: Optional[str] = None, verification_method: Optional[str] = None, created: Optional[str] = None, domain: Optional[str] = None, challenge: Optional[str] = None, jws: Optional[str] = None, proof_value: Optional[str] = None, nonce: Optional[str] = None, **kwargs)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Linked Data Proof model.
- class aries_cloudagent.vc.vc_ld.LinkedDataProofSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Linked data proof schema.
Based on https://w3c-ccg.github.io/ld-proofs
- class Meta[source]
Bases:
object
Accept parameter overload.
- model_class
alias of
aries_cloudagent.vc.vc_ld.models.linked_data_proof.LDProof
- add_unknown_properties(data: dict, original, **kwargs)
Add back unknown properties before outputting.
- challenge
- created
- domain
- jws
- nonce
- proof_purpose
- proof_value
- type
- verification_method
- class aries_cloudagent.vc.vc_ld.PresentationVerificationResult(*, verified: bool, presentation_result: Optional[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult] = None, credential_results: Optional[List[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult]] = None, errors: Optional[List[Exception]] = None)[source]
Bases:
object
Presentation verification result class.
- class aries_cloudagent.vc.vc_ld.VerifiableCredential(context: Optional[List[Union[str, dict]]] = None, id: Optional[str] = None, type: Optional[List[str]] = None, issuer: Optional[Union[dict, str]] = None, issuance_date: Optional[str] = None, expiration_date: Optional[str] = None, credential_subject: Optional[Union[dict, List[dict]]] = None, proof: Optional[Union[dict, aries_cloudagent.vc.vc_ld.models.linked_data_proof.LDProof]] = None, **kwargs)[source]
Bases:
aries_cloudagent.messaging.models.base.BaseModel
Verifiable Credential model.
- property context
Getter for context.
- property credential_subject
Getter for credential subject.
- property expiration_date
Getter for expiration date.
- property id
Getter for id.
- property issuance_date
Getter for issuance date.
- property issuer
Getter for issuer.
- property proof
Getter for proof.
- class aries_cloudagent.vc.vc_ld.VerifiableCredentialSchema(*args: Any, **kwargs: Any)[source]
Bases:
marshmallow.
Linked data verifiable credential schema.
Based on https://www.w3.org/TR/vc-data-model
- proof
- async aries_cloudagent.vc.vc_ld.create_presentation(*, credentials: List[dict], presentation_id: Optional[str] = None) dict [source]
Create presentation and add the credentials to it.
Will validates the structure off all credentials, but does not sign the presentation yet. Call sing_presentation to do this.
- async aries_cloudagent.vc.vc_ld.derive_credential(*, credential: dict, reveal_document: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict]) dict [source]
Derive new credential from the existing credential and the reveal document.
All proofs matching the signature suite type will be replaced with a derived proof. Other proofs will be discarded.
- Parameters
- Returns
The derived credential.
- Return type
- async aries_cloudagent.vc.vc_ld.issue_vc(*, credential: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None) dict
Issue a verifiable credential.
Takes the base credentail document, verifies it, and adds a digital signature to it.
- Parameters
credential (dict) – Base credential document.
suite (LinkedDataProof) – Signature suite to sign the credential with.
document_loader (DocumentLoader) – Document loader to use
purpose (ProofPurpose, optional) – A proof purpose instance that will match proofs to be verified and ensure they were created according to the appropriate purpose. Default to CredentialIssuancePurpose
- Raises
LinkedDataProofException – When the credential has an invalid structure OR signing fails
- Returns
The signed verifiable credential
- Return type
- async aries_cloudagent.vc.vc_ld.sign_presentation(*, presentation: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None, challenge: Optional[str] = None, domain: Optional[str] = None) dict [source]
Sign the presentation with the passed signature suite.
Will set a default AuthenticationProofPurpose if no proof purpose is passed.
- Parameters
presentation (dict) – The presentation to sign
suite (LinkedDataProof) – The signature suite to sign the presentation with
document_loader (DocumentLoader) – Document loader to use.
purpose (ProofPurpose, optional) – Purpose to use. Required if challenge is None
challenge (str, optional) – Challenge to use. Required if domain is None.
domain (str, optional) – Domain to use. Only used if purpose is None.
- Raises
LinkedDataProofException – When both purpose and challenge are not provided And when signing of the presentation fails
- Returns
A verifiable presentation object
- Return type
- async aries_cloudagent.vc.vc_ld.verify_credential(*, credential: dict, suites: List[aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof], document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None) aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult [source]
Verify credential structure, proof purpose and signature.
- Parameters
credential (dict) – The credential to verify
suites (List[LinkedDataProof]) – The signature suites to verify with
document_loader (DocumentLoader) – Document loader used for resolving of documents
purpose (ProofPurpose, optional) – Proof purpose to use. Defaults to CredentialIssuancePurpose
- Returns
- The result of the verification. Verified property
indicates whether the verification was successful
- Return type
DocumentVerificationResult
- async aries_cloudagent.vc.vc_ld.verify_presentation(*, presentation: dict, suites: List[aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof], document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None, challenge: Optional[str] = None, domain: Optional[str] = None) aries_cloudagent.vc.vc_ld.validation_result.PresentationVerificationResult [source]
Verify presentation structure, credentials, proof purpose and signature.
- Parameters
presentation (dict) – The presentation to verify
suites (List[LinkedDataProof]) – The signature suites to verify with
document_loader (DocumentLoader) – Document loader used for resolving of documents
purpose (ProofPurpose, optional) – Proof purpose to use. Defaults to AuthenticationProofPurpose
challenge (str, optional) – The challenge to use for authentication. Required if purpose is not passed, not used if purpose is passed
domain (str, optional) – Domain to use for the authentication proof purpose. Not used if purpose is passed
- Returns
- The result of the verification. Verified property
indicates whether the verification was successful
- Return type
Subpackages
Submodules
aries_cloudagent.vc.vc_ld.issue module
Verifiable Credential issuance methods.
- async aries_cloudagent.vc.vc_ld.issue.issue(*, credential: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None) dict [source]
Issue a verifiable credential.
Takes the base credentail document, verifies it, and adds a digital signature to it.
- Parameters
credential (dict) – Base credential document.
suite (LinkedDataProof) – Signature suite to sign the credential with.
document_loader (DocumentLoader) – Document loader to use
purpose (ProofPurpose, optional) – A proof purpose instance that will match proofs to be verified and ensure they were created according to the appropriate purpose. Default to CredentialIssuancePurpose
- Raises
LinkedDataProofException – When the credential has an invalid structure OR signing fails
- Returns
The signed verifiable credential
- Return type
aries_cloudagent.vc.vc_ld.prove module
Verifiable Credential and Presentation proving methods.
- async aries_cloudagent.vc.vc_ld.prove.create_presentation(*, credentials: List[dict], presentation_id: Optional[str] = None) dict [source]
Create presentation and add the credentials to it.
Will validates the structure off all credentials, but does not sign the presentation yet. Call sing_presentation to do this.
- async aries_cloudagent.vc.vc_ld.prove.derive_credential(*, credential: dict, reveal_document: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict]) dict [source]
Derive new credential from the existing credential and the reveal document.
All proofs matching the signature suite type will be replaced with a derived proof. Other proofs will be discarded.
- Parameters
- Returns
The derived credential.
- Return type
- async aries_cloudagent.vc.vc_ld.prove.sign_presentation(*, presentation: dict, suite: aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof, document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None, challenge: Optional[str] = None, domain: Optional[str] = None) dict [source]
Sign the presentation with the passed signature suite.
Will set a default AuthenticationProofPurpose if no proof purpose is passed.
- Parameters
presentation (dict) – The presentation to sign
suite (LinkedDataProof) – The signature suite to sign the presentation with
document_loader (DocumentLoader) – Document loader to use.
purpose (ProofPurpose, optional) – Purpose to use. Required if challenge is None
challenge (str, optional) – Challenge to use. Required if domain is None.
domain (str, optional) – Domain to use. Only used if purpose is None.
- Raises
LinkedDataProofException – When both purpose and challenge are not provided And when signing of the presentation fails
- Returns
A verifiable presentation object
- Return type
aries_cloudagent.vc.vc_ld.validation_result module
Presentation verification and validation result classes.
- class aries_cloudagent.vc.vc_ld.validation_result.PresentationVerificationResult(*, verified: bool, presentation_result: Optional[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult] = None, credential_results: Optional[List[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult]] = None, errors: Optional[List[Exception]] = None)[source]
Bases:
object
Presentation verification result class.
aries_cloudagent.vc.vc_ld.verify module
Verifiable Credential and Presentation verification methods.
- async aries_cloudagent.vc.vc_ld.verify.verify_credential(*, credential: dict, suites: List[aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof], document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None) aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult [source]
Verify credential structure, proof purpose and signature.
- Parameters
credential (dict) – The credential to verify
suites (List[LinkedDataProof]) – The signature suites to verify with
document_loader (DocumentLoader) – Document loader used for resolving of documents
purpose (ProofPurpose, optional) – Proof purpose to use. Defaults to CredentialIssuancePurpose
- Returns
- The result of the verification. Verified property
indicates whether the verification was successful
- Return type
DocumentVerificationResult
- async aries_cloudagent.vc.vc_ld.verify.verify_presentation(*, presentation: dict, suites: List[aries_cloudagent.vc.ld_proofs.suites.linked_data_proof.LinkedDataProof], document_loader: Callable[[str, dict], dict], purpose: Optional[aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose] = None, challenge: Optional[str] = None, domain: Optional[str] = None) aries_cloudagent.vc.vc_ld.validation_result.PresentationVerificationResult [source]
Verify presentation structure, credentials, proof purpose and signature.
- Parameters
presentation (dict) – The presentation to verify
suites (List[LinkedDataProof]) – The signature suites to verify with
document_loader (DocumentLoader) – Document loader used for resolving of documents
purpose (ProofPurpose, optional) – Proof purpose to use. Defaults to AuthenticationProofPurpose
challenge (str, optional) – The challenge to use for authentication. Required if purpose is not passed, not used if purpose is passed
domain (str, optional) – Domain to use for the authentication proof purpose. Not used if purpose is passed
- Returns
- The result of the verification. Verified property
indicates whether the verification was successful
- Return type
PresentationVerificationResult