Function libindy_sys::indy_verifier_verify_proof [−][src]
pub unsafe extern "C" fn indy_verifier_verify_proof(
command_handle: indy_handle_t,
proof_request_json: *const c_char,
proof_json: *const c_char,
schemas_json: *const c_char,
credential_defs_jsons: *const c_char,
rev_reg_defs_json: *const c_char,
rev_regs_json: *const c_char,
cb: indy_bool_cb
) -> indy_error_t
Verifies a proof (of multiple credential). 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: proof request json
{
"name": string,
"version": string,
"nonce": string,
"requested_attributes": { // set of requested attributes
"<attr_referent>": <attr_info>, // see below
...,
},
"requested_predicates": { // set of requested predicates
"<predicate_referent>": <predicate_info>, // see below
...,
},
"non_revoked": Optional<<non_revoc_interval>>, // see below,
// If specified prover must proof non-revocation
// for date in this interval for each attribute
// (can be overridden on attribute level)
}
proof_json: created for request proof json
{
"requested": {
"revealed_attrs": {
"requested_attr1_id": {sub_proof_index: number, raw: string, encoded: string},
"requested_attr4_id": {sub_proof_index: number: string, encoded: string},
},
"unrevealed_attrs": {
"requested_attr3_id": {sub_proof_index: number}
},
"self_attested_attrs": {
"requested_attr2_id": self_attested_value,
},
"requested_predicates": {
"requested_predicate_1_referent": {sub_proof_index: int},
"requested_predicate_2_referent": {sub_proof_index: int},
}
}
"proof": {
"proofs": [ <credential_proof>, <credential_proof>, <credential_proof> ],
"aggregated_proof": <aggregated_proof>
}
"identifiers": [{schema_id, cred_def_id, Optional<rev_reg_id>, Optional
#Returns valid: true - if signature is valid, false - otherwise
#Errors Annoncreds* Common* Wallet*