rust_libindy_wrapper/native/
crypto.rs

1use super::*;
2
3use native::{Error, Handle, BString, CString};
4
5extern {
6    #[no_mangle]
7    pub fn indy_create_key(command_handle: Handle,
8                           wallet_handle: Handle,
9                           key_json: CString,
10                           cb: Option<ResponseStringCB>) -> Error;
11
12    #[no_mangle]
13    pub fn indy_set_key_metadata(command_handle: Handle,
14                                 wallet_handle: Handle,
15                                 verkey: CString,
16                                 metadata: CString,
17                                 cb: Option<ResponseEmptyCB>) -> Error;
18
19    #[no_mangle]
20    pub fn indy_get_key_metadata(command_handle: Handle,
21                                 wallet_handle: Handle,
22                                 verkey: CString,
23                                 cb: Option<ResponseStringCB>) -> Error;
24
25    #[no_mangle]
26    pub fn indy_crypto_sign(command_handle: Handle,
27                            wallet_handle: Handle,
28                            signer_vk: CString,
29                            message_raw: BString,
30                            message_len: u32,
31                            cb: Option<ResponseSliceCB>) -> Error;
32
33    #[no_mangle]
34    pub fn indy_crypto_verify(command_handle: Handle,
35                              signer_vk: CString,
36                              message_raw: BString,
37                              message_len: u32,
38                              signature_raw: BString,
39                              signature_len: u32,
40                              cb: Option<ResponseBoolCB>) -> Error;
41
42    #[no_mangle]
43    pub fn indy_crypto_auth_crypt(command_handle: Handle,
44                                  wallet_handle: Handle,
45                                  sender_vk: CString,
46                                  recipient_vk: CString,
47                                  message_raw: BString,
48                                  message_len: u32,
49                                  cb: Option<ResponseSliceCB>) -> Error;
50
51    #[no_mangle]
52    pub fn indy_crypto_auth_decrypt(command_handle: Handle,
53                                    wallet_handle: Handle,
54                                    recipient_vk: CString,
55                                    encrypted_msg_raw: BString,
56                                    encrypted_msg_len: u32,
57                                    cb: Option<ResponseStringSliceCB>) -> Error;
58
59    #[no_mangle]
60    pub fn indy_crypto_anon_crypt(command_handle: Handle,
61                                  recipient_vk: CString,
62                                  message_raw: BString,
63                                  message_len: u32,
64                                  cb: Option<ResponseSliceCB>) -> Error;
65
66    #[no_mangle]
67    pub fn indy_crypto_anon_decrypt(command_handle: Handle,
68                                    wallet_handle: Handle,
69                                    recipient_vk: CString,
70                                    encrypted_msg_raw: BString,
71                                    encrypted_msg_len: u32,
72                                    cb: Option<ResponseSliceCB>) -> Error;
73}