#[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.
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.
valid: true - if signature is valid, false - otherwise
Annoncreds*
Common*
Wallet*