11 typedef struct _dc_key dc_key_t;
14 #define DC_KEY_PUBLIC 0
15 #define DC_KEY_PRIVATE 1
32 dc_key_t* dc_key_new ();
33 dc_key_t* dc_key_ref (dc_key_t*);
34 void dc_key_unref (dc_key_t*);
36 int dc_key_set_from_binary (dc_key_t*,
const void* data,
int bytes,
int type);
37 int dc_key_set_from_key (dc_key_t*,
const dc_key_t*);
38 int dc_key_set_from_stmt (dc_key_t*, sqlite3_stmt*,
int index,
int type);
39 int dc_key_set_from_base64 (dc_key_t*,
const char* base64,
int type);
40 int dc_key_set_from_file (dc_key_t*,
const char* file,
dc_context_t*);
42 int dc_key_equals (
const dc_key_t*,
const dc_key_t*);
44 int dc_key_save_self_keypair (
const dc_key_t* public_key,
const dc_key_t* private_key,
const char* addr,
int is_default, dc_sqlite3_t* sql);
45 int dc_key_load_self_public (dc_key_t*,
const char* self_addr, dc_sqlite3_t* sql);
46 int dc_key_load_self_private (dc_key_t*,
const char* self_addr, dc_sqlite3_t* sql);
48 char* dc_render_base64 (
const void* buf,
size_t buf_bytes,
int break_every,
const char* break_chars,
int add_checksum);
49 char* dc_key_render_base64 (
const dc_key_t*,
int break_every,
const char* break_chars,
int add_checksum);
50 char* dc_key_render_asc (
const dc_key_t*,
const char* add_header_lines);
51 int dc_key_render_asc_to_file (
const dc_key_t*,
const char* file,
dc_context_t*);
53 char* dc_format_fingerprint (
const char*);
54 char* dc_normalize_fingerprint (
const char*);
55 char* dc_key_get_fingerprint (
const dc_key_t*);
56 char* dc_key_get_formatted_fingerprint(
const dc_key_t*);
58 void dc_wipe_secret_mem (
void* buf,
size_t buf_bytes);