Function sovrin::api::anoncreds::sovrin_verifier_verify_proof [] [src]

#[no_mangle]
pub extern "C" fn sovrin_verifier_verify_proof(
    command_handle: i32,
    proof_request_json: *const c_char,
    proof_json: *const c_char,
    schemas_json: *const c_char,
    claim_defs_jsons: *const c_char,
    revoc_regs_json: *const c_char,
    cb: Option<extern "C" fn(_: i32, _: ErrorCode, _: bool)>
) -> ErrorCode

Verifies a proof (of multiple claim). All required schemas, public keys and revocation registries must be provided.

Params

wallet_handle: wallet handler (created by open_wallet). command_handle: command handle to map callback to user context. proof_request_json: initial proof request as sent by the verifier { "nonce": string, "requested_attr1_uuid": , "requested_attr2_uuid": , "requested_attr3_uuid": , "requested_predicate_1_uuid": , "requested_predicate_2_uuid": , } proof_json: proof json For each requested attribute either a proof (with optionally revealed attribute value) or self-attested attribute value is provided. Each proof is associated with a claim and corresponding schema_seq_no, claim_def_seq_no and revoc_reg_seq_no. There ais also aggregated proof part common for all claim proofs. { "requested": { "requested_attr1_id": [claim_proof1_uuid, revealed_attr1, revealed_attr1_as_int], "requested_attr2_id": [self_attested_attribute], "requested_attr3_id": [claim_proof2_uuid] "requested_attr4_id": [claim_proof2_uuid, revealed_attr4, revealed_attr4_as_int], "requested_predicate_1_uuid": [claim_proof2_uuid], "requested_predicate_2_uuid": [claim_proof3_uuid], } "claim_proofs": { "claim_proof1_uuid": [, claim_def_seq_no, revoc_reg_seq_no], "claim_proof2_uuid": [, claim_def_seq_no, revoc_reg_seq_no], "claim_proof3_uuid": [, claim_def_seq_no, revoc_reg_seq_no] }, "aggregated_proof": } schemas_jsons: all schema jsons participating in the proof { "claim_proof1_uuid": , "claim_proof2_uuid": , "claim_proof3_uuid": } claim_defs_jsons: all claim definition jsons participating in the proof { "claim_proof1_uuid": , "claim_proof2_uuid": , "claim_proof3_uuid": } revoc_regs_jsons: all revocation registry jsons participating in the proof { "claim_proof1_uuid": , "claim_proof2_uuid": , "claim_proof3_uuid": } cb: Callback that takes command result as parameter.

Returns

valid: true - if signature is valid, false - otherwise

Errors

Annoncreds* Common* Wallet*