25 DEBUG_ENTRY(
"security_handler_t **security_handler = <%p>", security_handler)
32 (*security_handler)->authentication_key =
MCL_NULL;
33 (*security_handler)->onboarding_key =
MCL_NULL;
34 (*security_handler)->hmac_key =
MCL_NULL;
35 (*security_handler)->rsa.private_key =
MCL_NULL;
36 (*security_handler)->rsa.public_key =
MCL_NULL;
37 (*security_handler)->rsa.session_key =
MCL_NULL;
38 (*security_handler)->authentication_key_size = 0;
39 (*security_handler)->last_token_time =
MCL_NULL;
40 (*security_handler)->access_token =
MCL_NULL;
41 (*security_handler)->registration_access_token =
MCL_NULL;
42 (*security_handler)->client_secret =
MCL_NULL;
43 (*security_handler)->registration_client_uri =
MCL_NULL;
44 (*security_handler)->client_id =
MCL_NULL;
62 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>", data, data_size, hash, hash_size)
67 MCL_DEBUG(
"SHA256 calculation succeeded: hash = <%p>, hash_size = <%u>", *hash, *hash_size);
80 DEBUG_ENTRY(
"security_handler_t *security_handler = <%p>, const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, mcl_uint8_t **hash = <%p>, mcl_size_t *hash_size = <%p>",
81 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!");
99 DEBUG_ENTRY(
"const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, string_t **encoded_data = <%p>", data, data_size, encoded_data)
104 MCL_DEBUG(
"Base64 encoding succeeded: encoded_data = <%s>, length encoded_data = <%u>", (*encoded_data)->buffer, (*encoded_data)->length);
117 DEBUG_ENTRY(
"const string_t *encoded_data = <%p>, mcl_uint8_t **decoded_data = <%p>, mcl_size_t *decoded_data_size = <%p>", encoded_data, decoded_data, decoded_data_size)
127 DEBUG_ENTRY(
"const mcl_uint8_t *data = <%p>, mcl_size_t data_size = <%u>, string_t **encoded_data = <%p>", data, data_size, encoded_data)
132 MCL_DEBUG(
"Base64 URL encoding succeeded: encoded_data = <%s>, length encoded_data = <%u>", (*encoded_data)->buffer, (*encoded_data)->length);
145 DEBUG_ENTRY(
"security_handler_t *security_handler = <%p>", security_handler)
155 DEBUG_ENTRY(
"char *rsa_key = <%s>, char *data = <%s>, mcl_size_t data_size = <%u>, mcl_uint8_t **signature = <%p>, mcl_size_t *signature_size = <%p>", rsa_key, data,
156 data_size, signature, signature_size)
166 DEBUG_ENTRY(
"security_handler_t **security_handler = <%p>", security_handler)
178 MCL_FREE((*security_handler)->hmac_key);
179 MCL_FREE((*security_handler)->rsa.private_key);
180 MCL_FREE((*security_handler)->rsa.public_key);
181 MCL_FREE((*security_handler)->rsa.session_key);
184 MCL_DEBUG(
"Security handler is destroyed.");
188 MCL_DEBUG(
"Security handler is already NULL.");
void string_destroy(string_t **string)
Destroys the allocated resources of the string.
E_MCL_ERROR_CODE 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)
Memory module header file.
E_MCL_ERROR_CODE security_handler_generate_rsa_key(security_handler_t *security_handler)
To be used to generate the RSA public/private key pairs.
E_MCL_ERROR_CODE security_handler_initialize(security_handler_t **security_handler)
Initializer of security handler.
E_MCL_ERROR_CODE base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, string_t **encoded_data)
char * buffer
Buffer of string handle.
E_MCL_ERROR_CODE security_handler_generate_jti(string_t **jti)
To be used to generate the jti nonce.
E_MCL_ERROR_CODE security_handler_base64_url_encode(const mcl_uint8_t *data, mcl_size_t data_size, string_t **encoded_data)
To be used to encode the given data in base64 URL encoding format.
Log utility module header file.
E_MCL_ERROR_CODE
MCL Error code definitions. Every function returning an error code uses this enum values...
E_MCL_ERROR_CODE security_handler_hash_sha256(const mcl_uint8_t *data, mcl_size_t data_size, mcl_uint8_t **hash, mcl_size_t *hash_size)
To be used to generate the sha256 hash of the given data.
E_MCL_ERROR_CODE 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)
E_MCL_ERROR_CODE security_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)
To destroy the Security Handler.
char * public_key
Public key.
E_MCL_ERROR_CODE security_handler_base64_decode(const string_t *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size)
E_MCL_ERROR_CODE security_handler_rsa_sign(char *rsa_key, char *data, mcl_size_t data_size, mcl_uint8_t **signature, mcl_size_t *signature_size)
To be used to sign data with RSA key.
string_t * client_secret
Client secret.
E_MCL_ERROR_CODE random_generate_guid(string_t **guid)
Generates random guid.
char * private_key
Private key.
#define ASSERT_CODE_MESSAGE(condition, return_code,...)
E_MCL_ERROR_CODE security_handler_base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, string_t **encoded_data)
To be used to encode the given data in base64 encoding format.
Definitions module header file.
mcl_size_t length
Length of buffer.
E_MCL_ERROR_CODE base64_encode(const mcl_uint8_t *data, mcl_size_t data_size, string_t **encoded_data)
Base64 module header file.
E_MCL_ERROR_CODE base64_decode(const string_t *encoded_data, mcl_uint8_t **decoded_data, mcl_size_t *decoded_data_size)
Handle struct for security_handler module.
Security module header file.Inner security interface. Contains security related functions like hashin...
E_MCL_ERROR_CODE security_rsa_sign(char *rsa_key, char *data, mcl_size_t data_size, mcl_uint8_t **signature, mcl_size_t *signature_size)
To be used to sign data with RSA key.
Random module header file.
Security handler module header file.
E_MCL_ERROR_CODE security_generate_rsa_key(char **public_key, char **private_key)
To be used to generate the RSA public/private keys.