indy_sys/
crypto.rs

1use super::*;
2
3use {BString, CString, Error, CommandHandle, WalletHandle};
4
5extern {
6
7    #[no_mangle]
8    pub fn indy_create_key(command_handle: CommandHandle,
9                           wallet_handle: WalletHandle,
10                           key_json: CString,
11                           cb: Option<ResponseStringCB>) -> Error;
12
13    #[no_mangle]
14    pub fn indy_set_key_metadata(command_handle: CommandHandle,
15                                 wallet_handle: WalletHandle,
16                                 verkey: CString,
17                                 metadata: CString,
18                                 cb: Option<ResponseEmptyCB>) -> Error;
19
20    #[no_mangle]
21    pub fn indy_get_key_metadata(command_handle: CommandHandle,
22                                 wallet_handle: WalletHandle,
23                                 verkey: CString,
24                                 cb: Option<ResponseStringCB>) -> Error;
25
26    #[no_mangle]
27    pub fn indy_crypto_sign(command_handle: CommandHandle,
28                            wallet_handle: WalletHandle,
29                            signer_vk: CString,
30                            message_raw: BString,
31                            message_len: u32,
32                            cb: Option<ResponseSliceCB>) -> Error;
33
34    #[no_mangle]
35    pub fn indy_crypto_verify(command_handle: CommandHandle,
36                              signer_vk: CString,
37                              message_raw: BString,
38                              message_len: u32,
39                              signature_raw: BString,
40                              signature_len: u32,
41                              cb: Option<ResponseBoolCB>) -> Error;
42
43    #[no_mangle]
44    pub fn indy_crypto_auth_crypt(command_handle: CommandHandle,
45                                  wallet_handle: WalletHandle,
46                                  sender_vk: CString,
47                                  recipient_vk: CString,
48                                  msg_data: BString,
49                                  msg_len: u32,
50                                  cb: Option<ResponseSliceCB>) -> Error;
51
52    #[no_mangle]
53    pub fn indy_crypto_auth_decrypt(command_handle: CommandHandle,
54                                    wallet_handle: WalletHandle,
55                                    recipient_vk: CString,
56                                    encrypted_msg: BString,
57                                    encrypted_len: u32,
58                                    cb: Option<ResponseStringSliceCB>) -> Error;
59
60    #[no_mangle]
61    pub fn indy_crypto_anon_crypt(command_handle: CommandHandle,
62                                  recipient_vk: CString,
63                                  msg_data: BString,
64                                  msg_len: u32,
65                                  cb: Option<ResponseSliceCB>) -> Error;
66
67    #[no_mangle]
68    pub fn indy_crypto_anon_decrypt(command_handle: CommandHandle,
69                                    wallet_handle: WalletHandle,
70                                    recipient_vk: CString,
71                                    encrypted_msg: BString,
72                                    encrypted_len: u32,
73                                    cb: Option<ResponseSliceCB>) -> Error;
74
75    #[no_mangle]
76    pub fn indy_pack_message(command_handle: CommandHandle,
77                             wallet_handle: WalletHandle,
78                             message: BString,
79                             message_len: u32,
80                             receiver_keys: CString,
81                             sender: CString,
82                             cb: Option<ResponseSliceCB>) -> Error;
83
84    #[no_mangle]
85    pub fn indy_unpack_message(command_handle: CommandHandle,
86                               wallet_handle: WalletHandle,
87                               jwe_msg: BString,
88                               jwe_len: u32,
89                               cb: Option<ResponseSliceCB>) -> Error;
90}
91