20 MCL_DEBUG_ENTRY(
"security_handler_t **security_handler = <%p>", security_handler);
27 (*security_handler)->rsa.private_key =
MCL_NULL;
28 (*security_handler)->rsa.public_key =
MCL_NULL;
29 (*security_handler)->last_token_time =
MCL_NULL;
30 (*security_handler)->access_token =
MCL_NULL;
31 (*security_handler)->registration_access_token =
MCL_NULL;
32 (*security_handler)->client_secret =
MCL_NULL;
33 (*security_handler)->registration_uri =
MCL_NULL;
34 (*security_handler)->client_id =
MCL_NULL;
56 MCL_DEBUG_ENTRY(
"const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, mcl_uint8_t **hash = <%p>, mcl_size_t *hash_size = <%p>",
57 data, data_size, hash, hash_size);
62 MCL_DEBUG(
"SHA256 calculation succeeded: hash = <%p>, hash_size = <%u>", *hash, *hash_size);
78 MCL_DEBUG_ENTRY(
"security_handler_t *security_handler = <%p>, const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, "\
79 "mcl_uint8_t **hash = <%p>, mcl_size_t *hash_size = <%p>", security_handler, data, data_size, hash, hash_size);
86 MCL_DEBUG(
"HMAC SHA256 calculation succeeded: hash = <%p>, hash_size = <%u>", *hash, *hash_size);
90 MCL_ERROR(
"HMAC SHA256 calculation failed!");
101 MCL_DEBUG_ENTRY(
"const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, char **encoded_data = <%p>", data, data_size, encoded_data);
107 MCL_DEBUG(
"Base64 encoding succeeded: encoded_data = <%s>, length encoded_data = <%u>", (*encoded_data),
string_util_strlen(*encoded_data));
122 MCL_DEBUG_ENTRY(
"const char *encoded_data = <%p>, mcl_uint8_t **decoded_data = <%p>, mcl_size_t *decoded_data_size = <%p>",
123 encoded_data, decoded_data, decoded_data_size);
125 code =
base64_decode(encoded_data, decoded_data, decoded_data_size);
135 MCL_DEBUG_ENTRY(
"const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, char **encoded_data = <%p>", data, data_size, encoded_data);
141 MCL_DEBUG(
"Base64 URL encoding succeeded: encoded_data = <%s>, length encoded_data = <%u>", (*encoded_data),
string_util_strlen(*encoded_data));
156 MCL_DEBUG_ENTRY(
"security_handler_t *security_handler = <%p>", security_handler);
168 MCL_DEBUG_ENTRY(
"char *rsa_key = <%p>, char *data = <%p>, mcl_size_t data_size = <%u>, mcl_uint8_t **signature = <%p>, mcl_size_t *signature_size = <%p>",
169 rsa_key, data, data_size, signature, signature_size);
179 MCL_DEBUG_ENTRY(
"security_handler_t **security_handler = <%p>", security_handler);
184 MCL_FREE((*security_handler)->access_token);
185 MCL_FREE((*security_handler)->registration_access_token);
186 MCL_FREE((*security_handler)->registration_uri);
187 MCL_FREE((*security_handler)->client_id);
188 MCL_FREE((*security_handler)->last_token_time);
189 MCL_FREE((*security_handler)->client_secret);
190 MCL_FREE((*security_handler)->rsa.private_key);
191 MCL_FREE((*security_handler)->rsa.public_key);
194 MCL_DEBUG(
"Security handler is destroyed.");
198 MCL_DEBUG(
"Security handler is already NULL.");
mcl_error_t security_handler_generate_jti(char **jti)
Assert module header file.
#define MCL_DEBUG_ENTRY(...)
String utility module header file.
mcl_error_t security_handler_base64_decode(const char *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size)
mcl_error_t security_handler_base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
#define MCL_ASSERT_CODE_MESSAGE(condition, return_code,...)
mcl_error_t base64_decode(const char *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size)
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)
void security_handler_destroy(security_handler_t **security_handler)
char * public_key
Public key.
mcl_error_t security_generate_rsa_key(char **public_key, char **private_key)
mcl_error_t base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
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)
mcl_error_t security_hash_sha256(const mcl_uint8_t *data, mcl_size_t data_size, mcl_uint8_t **hash, mcl_size_t *hash_size)
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)
mcl_error_t security_handler_initialize(security_handler_t **security_handler)
char * private_key
Private key.
mcl_error_t security_handler_base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
mcl_error_t base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, char **encoded_data)
Base64 module header file.
char * client_secret
Client secret.
mcl_error_t security_rsa_sign(char *rsa_key, char *data, mcl_size_t data_size, mcl_uint8_t **signature, mcl_size_t *signature_size)
Security interface header file.
mcl_error_t hmac_sha256(const mcl_uint8_t *data, mcl_size_t data_size, const mcl_uint8_t *key, mcl_size_t key_size, mcl_uint8_t **hash, mcl_size_t *hash_size)
Random module header file.
#define MCL_DEBUG_LEAVE(...)
mcl_error_t random_generate_guid(char **guid)
mcl_size_t string_util_strlen(const char *buffer)
Security handler module header file.
mcl_error_t security_handler_generate_rsa_key(security_handler_t *security_handler)
Memory module interface header file.