security_handler.h
Go to the documentation of this file.
1 
11 #ifndef SECURITY_HANDLER_H_
12 #define SECURITY_HANDLER_H_
13 
15 
19 typedef struct rsa_t
20 {
21  char *public_key;
23  char *private_key;
25 } rsa_t;
26 
30 typedef struct security_handler_t
31 {
35  char *client_secret;
36  char *access_token;
38  char *client_id;
40 
52 
67 
82 
100  mcl_size_t *hash_size);
101 
114 MCL_LOCAL mcl_error_t security_handler_base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data);
115 
128 MCL_LOCAL mcl_error_t security_handler_base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data);
129 
147 MCL_LOCAL mcl_error_t security_handler_base64_decode(const char *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size);
148 
163 
181 MCL_LOCAL mcl_error_t security_handler_rsa_sign(char *rsa_key, char *data, mcl_size_t data_size, mcl_uint8_t **signature, mcl_size_t *signature_size);
182 
188 MCL_LOCAL void security_handler_destroy(security_handler_t **security_handler);
189 
190 #endif //SECURITY_HANDLER_H_
#define MCL_LOCAL
MCL_LOCAL mcl_error_t security_handler_hmac_sha256(security_handler_t *security_handler, const mcl_uint8_t *data, mcl_size_t data_size, mcl_uint8_t **hash, mcl_size_t *hash_size)
char * client_id
Client id.
size_t mcl_size_t
MCL_LOCAL mcl_error_t security_handler_base64_decode(const char *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size)
mcl_size_t private_key_length
Private key length.
mcl_int32_t mcl_error_t
MCL_LOCAL void security_handler_destroy(security_handler_t **security_handler)
MCL_LOCAL mcl_error_t security_handler_base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
MCL_LOCAL mcl_error_t security_handler_generate_rsa_key(security_handler_t *security_handler)
MCL_LOCAL mcl_error_t security_handler_initialize(security_handler_t **security_handler)
char * public_key
Public key.
char * last_token_time
The time at which the last access token is generated by MindSphere.
char * private_key
Private key.
uint8_t mcl_uint8_t
rsa_t rsa
RSA handle.
MCL_LOCAL mcl_error_t security_handler_generate_jti(char **jti)
char * client_secret
Client secret.
MCL_LOCAL mcl_error_t security_handler_base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
char * registration_uri
Registration URI.
char * registration_access_token
Registration access token.
MCL_LOCAL mcl_error_t security_handler_hash_sha256(const mcl_uint8_t *data, mcl_size_t data_size, mcl_uint8_t **hash, mcl_size_t *hash_size)
MCL_LOCAL mcl_error_t security_handler_rsa_sign(char *rsa_key, char *data, mcl_size_t data_size, mcl_uint8_t **signature, mcl_size_t *signature_size)
char * access_token
Access token.
mcl_size_t public_key_length
Public key length.
Common module interface header file.