1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
use super::*;

use {BString, CString, Error, Handle};

extern {

    #[no_mangle]
    pub fn indy_create_key(command_handle: Handle,
                           wallet_handle: Handle,
                           key_json: CString,
                           cb: Option<ResponseStringCB>) -> Error;

    #[no_mangle]
    pub fn indy_set_key_metadata(command_handle: Handle,
                                 wallet_handle: Handle,
                                 verkey: CString,
                                 metadata: CString,
                                 cb: Option<ResponseEmptyCB>) -> Error;

    #[no_mangle]
    pub fn indy_get_key_metadata(command_handle: Handle,
                                 wallet_handle: Handle,
                                 verkey: CString,
                                 cb: Option<ResponseStringCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_sign(command_handle: Handle,
                            wallet_handle: Handle,
                            signer_vk: CString,
                            message_raw: BString,
                            message_len: u32,
                            cb: Option<ResponseSliceCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_verify(command_handle: Handle,
                              signer_vk: CString,
                              message_raw: BString,
                              message_len: u32,
                              signature_raw: BString,
                              signature_len: u32,
                              cb: Option<ResponseBoolCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_auth_crypt(command_handle: Handle,
                                  wallet_handle: Handle,
                                  sender_vk: CString,
                                  recipient_vk: CString,
                                  msg_data: BString,
                                  msg_len: u32,
                                  cb: Option<ResponseSliceCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_auth_decrypt(command_handle: Handle,
                                    wallet_handle: Handle,
                                    recipient_vk: CString,
                                    encrypted_msg: BString,
                                    encrypted_len: u32,
                                    cb: Option<ResponseStringSliceCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_anon_crypt(command_handle: Handle,
                                  recipient_vk: CString,
                                  msg_data: BString,
                                  msg_len: u32,
                                  cb: Option<ResponseSliceCB>) -> Error;

    #[no_mangle]
    pub fn indy_crypto_anon_decrypt(command_handle: Handle,
                                    wallet_handle: Handle,
                                    recipient_vk: CString,
                                    encrypted_msg: BString,
                                    encrypted_len: u32,
                                    cb: Option<ResponseSliceCB>) -> Error;
}