2024-07-27 14:15:35 +00:00
|
|
|
/**
|
|
|
|
* Cryptographic functions
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
2024-09-21 18:43:02 +00:00
|
|
|
#include <stddef.h>
|
2024-07-27 14:15:35 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Generate device private key, if required
|
2024-07-27 14:34:41 +00:00
|
|
|
*
|
|
|
|
* @returns true if a key was generated, false otherwise
|
2024-07-27 14:15:35 +00:00
|
|
|
*/
|
|
|
|
bool crypto_gen_priv_key();
|
|
|
|
|
2024-08-15 11:32:01 +00:00
|
|
|
/**
|
|
|
|
* Print current device private key
|
|
|
|
*/
|
|
|
|
void crypto_print_priv_key();
|
|
|
|
|
2024-08-16 09:51:33 +00:00
|
|
|
/**
|
|
|
|
* Get CSR
|
|
|
|
*
|
|
|
|
* @return NULL in case of failure or a buffer that must be
|
|
|
|
* freed in case of success
|
|
|
|
*/
|
|
|
|
char *crypto_get_csr();
|
|
|
|
|
2024-09-21 18:43:02 +00:00
|
|
|
/**
|
|
|
|
* Encode buffer to base64 safe URL string
|
|
|
|
*
|
|
|
|
* @return A buffer that needs to be freed or NULL in case of failure
|
|
|
|
*/
|
|
|
|
char *crypto_encode_base64_safe_url(const char *src, size_t srclen);
|
|
|
|
|
2024-09-27 18:13:50 +00:00
|
|
|
/**
|
|
|
|
* Sign some data using sha256
|
|
|
|
*/
|
2024-09-27 19:28:05 +00:00
|
|
|
char *crypto_sign_sha256_payload(const char *src, const size_t src_len, size_t *dstlen);
|
2024-09-27 18:13:50 +00:00
|
|
|
|
2024-07-27 14:15:35 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|