libsignal-protocol-c  master
key_helper.h
1 #ifndef KEY_HELPER_H
2 #define KEY_HELPER_H
3 
4 #include <stdint.h>
5 #include "signal_protocol_types.h"
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 
18 int signal_protocol_key_helper_generate_identity_key_pair(ratchet_identity_key_pair **key_pair, signal_context *global_context);
19 
32 int signal_protocol_key_helper_generate_registration_id(uint32_t *registration_id, int extended_range, signal_context *global_context);
33 
41 int signal_protocol_key_helper_get_random_sequence(int *value, int max, signal_context *global_context);
42 
59 int signal_protocol_key_helper_generate_pre_keys(signal_protocol_key_helper_pre_key_list_node **head,
60  unsigned int start, unsigned int count,
61  signal_context *global_context);
62 
69 session_pre_key *signal_protocol_key_helper_key_list_element(const signal_protocol_key_helper_pre_key_list_node *node);
70 
77 signal_protocol_key_helper_pre_key_list_node *signal_protocol_key_helper_key_list_next(const signal_protocol_key_helper_pre_key_list_node *node);
78 
84 void signal_protocol_key_helper_key_list_free(signal_protocol_key_helper_pre_key_list_node *head);
85 
96 int signal_protocol_key_helper_generate_signed_pre_key(session_signed_pre_key **signed_pre_key,
97  const ratchet_identity_key_pair *identity_key_pair,
98  uint32_t signed_pre_key_id,
99  uint64_t timestamp,
100  signal_context *global_context);
101 
102 /*
103  * Generate a sender signing key pair
104  *
105 * @param key_pair the generated key pair
106 * @return 0 on success, or negative on failure
107  */
108 int signal_protocol_key_helper_generate_sender_signing_key(ec_key_pair **key_pair, signal_context *global_context);
109 
110 /*
111  * Generate a sender key
112  *
113  * @param key_buffer buffer to be allocated and populated with the result
114  * @return 0 on success, or negative on failure
115  */
116 int signal_protocol_key_helper_generate_sender_key(signal_buffer **key_buffer, signal_context *global_context);
117 
118 /*
119  * Generate a sender key ID
120  *
121  * @param key_id assigned to the generated ID
122  * @return 0 on success, or negative on failure
123  */
124 int signal_protocol_key_helper_generate_sender_key_id(uint32_t *key_id, signal_context *global_context);
125 
126 #ifdef __cplusplus
127 }
128 #endif
129 
130 #endif /* KEY_HELPER_H */
Definition: signal_protocol_internal.h:23
Definition: signal_protocol_internal.h:18
Definition: session_pre_key.c:17
Definition: curve.c:31
Definition: session_pre_key.c:11
Definition: ratchet.c:38