aries_cloudagent.vc.vc_ld package¶
-
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: 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 failsReturns: The signed verifiable credential
Return type:
-
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: aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose = None, challenge: str = None, domain: 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
-
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: 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
-
aries_cloudagent.vc.vc_ld.
create_presentation
(*, credentials: List[dict], presentation_id: 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.
Parameters: Raises: LinkedDataProofException
– When not all credentials have a valid structureReturns: The unsigned presentation object
Return type:
-
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: aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose = None, challenge: str = None, domain: 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 failsReturns: A verifiable presentation object
Return type:
-
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:
-
class
aries_cloudagent.vc.vc_ld.
PresentationVerificationResult
(*, verified: bool, presentation_result: aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult = None, credential_results: List[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult] = None, errors: 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: Union[dict, str, None] = None, issuance_date: Optional[str] = None, expiration_date: Optional[str] = None, credential_subject: Union[dict, List[dict], None] = None, proof: Union[dict, aries_cloudagent.vc.vc_ld.models.linked_data_proof.LDProof, None] = None, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModel
Verifiable Credential model.
-
context
¶ Getter for context.
-
context_urls
¶ Getter for context urls.
-
credential_subject
¶ Getter for credential subject.
-
credential_subject_ids
¶ Getter for credential subject ids.
-
expiration_date
¶ Getter for expiration date.
-
id
¶ Getter for id.
-
issuance_date
¶ Getter for issuance date.
-
issuer
¶ Getter for issuer.
-
issuer_id
¶ Getter for issuer id.
-
proof
¶ Getter for proof.
-
type
¶ Getter for 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, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
Linked data proof schema.
Based on https://w3c-ccg.github.io/ld-proofs
-
add_unknown_properties
(data: dict, original, **kwargs)[source]¶ Add back unknown properties before outputting.
-
challenge
¶ Used by autodoc_mock_imports.
-
created
¶ Used by autodoc_mock_imports.
-
domain
¶ Used by autodoc_mock_imports.
-
jws
¶ Used by autodoc_mock_imports.
-
nonce
¶ Used by autodoc_mock_imports.
-
proof_purpose
¶ Used by autodoc_mock_imports.
-
proof_value
¶ Used by autodoc_mock_imports.
-
type
¶ Used by autodoc_mock_imports.
-
verification_method
¶ Used by autodoc_mock_imports.
-
-
class
aries_cloudagent.vc.vc_ld.
CredentialSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.base.BaseModelSchema
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
VerifiableCredential
-
unknown
¶ Used by autodoc_mock_imports.
-
-
add_unknown_properties
(data: dict, original, **kwargs)[source]¶ Add back unknown properties before outputting.
-
context
¶ Used by autodoc_mock_imports.
-
credential_subject
¶ Dict or Dict List field for Marshmallow.
-
expiration_date
¶ Used by autodoc_mock_imports.
-
id
¶ Used by autodoc_mock_imports.
-
issuance_date
¶ Used by autodoc_mock_imports.
-
issuer
¶ URI or Dict field for Marshmallow.
-
proof
¶ Used by autodoc_mock_imports.
-
type
¶ Used by autodoc_mock_imports.
-
class
-
class
aries_cloudagent.vc.vc_ld.
VerifiableCredentialSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.vc.vc_ld.models.credential.CredentialSchema
Linked data verifiable credential schema.
Based on https://www.w3.org/TR/vc-data-model
-
proof
¶ Used by autodoc_mock_imports.
-
Subpackages¶
Submodules¶
aries_cloudagent.vc.vc_ld.issue module¶
Verifiable Credential issuance methods.
-
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: 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 failsReturns: The signed verifiable credential
Return type:
aries_cloudagent.vc.vc_ld.prove module¶
Verifiable Credential and Presentation proving methods.
-
aries_cloudagent.vc.vc_ld.prove.
create_presentation
(*, credentials: List[dict], presentation_id: 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.
Parameters: Raises: LinkedDataProofException
– When not all credentials have a valid structureReturns: The unsigned presentation object
Return type:
-
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:
-
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: aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose = None, challenge: str = None, domain: 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 failsReturns: 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: aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult = None, credential_results: List[aries_cloudagent.vc.ld_proofs.validation_result.DocumentVerificationResult] = None, errors: List[Exception] = None)[source]¶ Bases:
object
Presentation verification result class.
aries_cloudagent.vc.vc_ld.verify module¶
Verifiable Credential and Presentation verification methods.
-
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: aries_cloudagent.vc.ld_proofs.purposes.proof_purpose.ProofPurpose = None, challenge: str = None, domain: 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
-
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: 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