mbed TLS v2.2.0
|
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | mbedtls_md_context_t |
Generic message digest context. More... | |
Macros | |
#define | MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
The selected feature is not available. More... | |
#define | MBEDTLS_ERR_MD_BAD_INPUT_DATA -0x5100 |
Bad input parameters to function. More... | |
#define | MBEDTLS_ERR_MD_ALLOC_FAILED -0x5180 |
Failed to allocate memory. More... | |
#define | MBEDTLS_ERR_MD_FILE_IO_ERROR -0x5200 |
Opening or reading of file failed. More... | |
#define | MBEDTLS_MD_MAX_SIZE 32 /* longest known is SHA256 or less */ |
#define | MBEDTLS_DEPRECATED |
Typedefs | |
typedef struct mbedtls_md_info_t | mbedtls_md_info_t |
Opaque struct defined in md_internal.h. More... | |
Functions | |
const int * | mbedtls_md_list (void) |
Returns the list of digests supported by the generic digest module. More... | |
const mbedtls_md_info_t * | mbedtls_md_info_from_string (const char *md_name) |
Returns the message digest information associated with the given digest name. More... | |
const mbedtls_md_info_t * | mbedtls_md_info_from_type (mbedtls_md_type_t md_type) |
Returns the message digest information associated with the given digest type. More... | |
void | mbedtls_md_init (mbedtls_md_context_t *ctx) |
Initialize a md_context (as NONE) This should always be called first. More... | |
void | mbedtls_md_free (mbedtls_md_context_t *ctx) |
Free and clear the internal structures of ctx. More... | |
int | mbedtls_md_init_ctx (mbedtls_md_context_t *ctx, const mbedtls_md_info_t *md_info) MBEDTLS_DEPRECATED |
Select MD to use and allocate internal structures. More... | |
int | mbedtls_md_setup (mbedtls_md_context_t *ctx, const mbedtls_md_info_t *md_info, int hmac) |
Select MD to use and allocate internal structures. More... | |
int | mbedtls_md_clone (mbedtls_md_context_t *dst, const mbedtls_md_context_t *src) |
Clone the state of an MD context. More... | |
unsigned char | mbedtls_md_get_size (const mbedtls_md_info_t *md_info) |
Returns the size of the message digest output. More... | |
mbedtls_md_type_t | mbedtls_md_get_type (const mbedtls_md_info_t *md_info) |
Returns the type of the message digest output. More... | |
const char * | mbedtls_md_get_name (const mbedtls_md_info_t *md_info) |
Returns the name of the message digest output. More... | |
int | mbedtls_md_starts (mbedtls_md_context_t *ctx) |
Prepare the context to digest a new message. More... | |
int | mbedtls_md_update (mbedtls_md_context_t *ctx, const unsigned char *input, size_t ilen) |
Generic message digest process buffer Called between mbedtls_md_starts() and mbedtls_md_finish(). More... | |
int | mbedtls_md_finish (mbedtls_md_context_t *ctx, unsigned char *output) |
Generic message digest final digest Called after mbedtls_md_update(). More... | |
int | mbedtls_md (const mbedtls_md_info_t *md_info, const unsigned char *input, size_t ilen, unsigned char *output) |
Output = message_digest( input buffer ) More... | |
int | mbedtls_md_hmac_starts (mbedtls_md_context_t *ctx, const unsigned char *key, size_t keylen) |
Set HMAC key and prepare to authenticate a new message. More... | |
int | mbedtls_md_hmac_update (mbedtls_md_context_t *ctx, const unsigned char *input, size_t ilen) |
Generic HMAC process buffer. More... | |
int | mbedtls_md_hmac_finish (mbedtls_md_context_t *ctx, unsigned char *output) |
Output HMAC. More... | |
int | mbedtls_md_hmac_reset (mbedtls_md_context_t *ctx) |
Prepare to authenticate a new message with the same key. More... | |
int | mbedtls_md_hmac (const mbedtls_md_info_t *md_info, const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char *output) |
Output = Generic_HMAC( hmac key, input buffer ) More... | |
int | mbedtls_md_process (mbedtls_md_context_t *ctx, const unsigned char *data) |
#define MBEDTLS_ERR_MD_ALLOC_FAILED -0x5180 |
#define MBEDTLS_ERR_MD_BAD_INPUT_DATA -0x5100 |
#define MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
#define MBEDTLS_ERR_MD_FILE_IO_ERROR -0x5200 |
#define MBEDTLS_MD_MAX_SIZE 32 /* longest known is SHA256 or less */ |
typedef struct mbedtls_md_info_t mbedtls_md_info_t |
Opaque struct defined in md_internal.h.
enum mbedtls_md_type_t |
int mbedtls_md | ( | const mbedtls_md_info_t * | md_info, |
const unsigned char * | input, | ||
size_t | ilen, | ||
unsigned char * | output | ||
) |
Output = message_digest( input buffer )
md_info | message digest info |
input | buffer holding the data |
ilen | length of the input data |
output | Generic message digest checksum result |
int mbedtls_md_clone | ( | mbedtls_md_context_t * | dst, |
const mbedtls_md_context_t * | src | ||
) |
Clone the state of an MD context.
dst | The destination context |
src | The context to be cloned |
0
on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA
on parameter failure. int mbedtls_md_finish | ( | mbedtls_md_context_t * | ctx, |
unsigned char * | output | ||
) |
Generic message digest final digest Called after mbedtls_md_update().
Usually followed by mbedtls_md_free() or mbedtls_md_starts().
ctx | Generic message digest context |
output | Generic message digest checksum result |
void mbedtls_md_free | ( | mbedtls_md_context_t * | ctx | ) |
Free and clear the internal structures of ctx.
Can be called at any time after mbedtls_md_init(). Mandatory once mbedtls_md_setup() has been called.
const char* mbedtls_md_get_name | ( | const mbedtls_md_info_t * | md_info | ) |
Returns the name of the message digest output.
md_info | message digest info |
unsigned char mbedtls_md_get_size | ( | const mbedtls_md_info_t * | md_info | ) |
Returns the size of the message digest output.
md_info | message digest info |
mbedtls_md_type_t mbedtls_md_get_type | ( | const mbedtls_md_info_t * | md_info | ) |
Returns the type of the message digest output.
md_info | message digest info |
int mbedtls_md_hmac | ( | const mbedtls_md_info_t * | md_info, |
const unsigned char * | key, | ||
size_t | keylen, | ||
const unsigned char * | input, | ||
size_t | ilen, | ||
unsigned char * | output | ||
) |
Output = Generic_HMAC( hmac key, input buffer )
md_info | message digest info |
key | HMAC secret key |
keylen | length of the HMAC key in bytes |
input | buffer holding the data |
ilen | length of the input data |
output | Generic HMAC-result |
int mbedtls_md_hmac_finish | ( | mbedtls_md_context_t * | ctx, |
unsigned char * | output | ||
) |
Output HMAC.
Called after mbedtls_md_hmac_update(). Usually followed my mbedtls_md_hmac_reset(), mbedtls_md_hmac_starts(), or mbedtls_md_free().
ctx | HMAC context |
output | Generic HMAC checksum result |
int mbedtls_md_hmac_reset | ( | mbedtls_md_context_t * | ctx | ) |
Prepare to authenticate a new message with the same key.
Called after mbedtls_md_hmac_finish() and before mbedtls_md_hmac_update().
ctx | HMAC context to be reset |
int mbedtls_md_hmac_starts | ( | mbedtls_md_context_t * | ctx, |
const unsigned char * | key, | ||
size_t | keylen | ||
) |
Set HMAC key and prepare to authenticate a new message.
Usually called after mbedtls_md_setup() or mbedtls_md_hmac_finish().
ctx | HMAC context |
key | HMAC secret key |
keylen | length of the HMAC key in bytes |
int mbedtls_md_hmac_update | ( | mbedtls_md_context_t * | ctx, |
const unsigned char * | input, | ||
size_t | ilen | ||
) |
Generic HMAC process buffer.
Called between mbedtls_md_hmac_starts() or mbedtls_md_hmac_reset() and mbedtls_md_hmac_finish(). May be called repeatedly.
ctx | HMAC context |
input | buffer holding the data |
ilen | length of the input data |
const mbedtls_md_info_t* mbedtls_md_info_from_string | ( | const char * | md_name | ) |
Returns the message digest information associated with the given digest name.
md_name | Name of the digest to search for. |
const mbedtls_md_info_t* mbedtls_md_info_from_type | ( | mbedtls_md_type_t | md_type | ) |
Returns the message digest information associated with the given digest type.
md_type | type of digest to search for. |
void mbedtls_md_init | ( | mbedtls_md_context_t * | ctx | ) |
Initialize a md_context (as NONE) This should always be called first.
Prepares the context for mbedtls_md_setup() or mbedtls_md_free().
int mbedtls_md_init_ctx | ( | mbedtls_md_context_t * | ctx, |
const mbedtls_md_info_t * | md_info | ||
) |
Select MD to use and allocate internal structures.
Should be called after mbedtls_md_init() or mbedtls_md_free(). Makes it necessary to call mbedtls_md_free() later.
ctx | Context to set up. |
md_info | Message digest to use. |
0
on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA
on parameter failure, MBEDTLS_ERR_MD_ALLOC_FAILED
memory allocation failure. const int* mbedtls_md_list | ( | void | ) |
Returns the list of digests supported by the generic digest module.
int mbedtls_md_process | ( | mbedtls_md_context_t * | ctx, |
const unsigned char * | data | ||
) |
int mbedtls_md_setup | ( | mbedtls_md_context_t * | ctx, |
const mbedtls_md_info_t * | md_info, | ||
int | hmac | ||
) |
Select MD to use and allocate internal structures.
Should be called after mbedtls_md_init() or mbedtls_md_free(). Makes it necessary to call mbedtls_md_free() later.
ctx | Context to set up. |
md_info | Message digest to use. |
hmac | 0 to save some memory if HMAC will not be used, non-zero is HMAC is going to be used with this context. |
0
on success, MBEDTLS_ERR_MD_BAD_INPUT_DATA
on parameter failure, MBEDTLS_ERR_MD_ALLOC_FAILED
memory allocation failure. int mbedtls_md_starts | ( | mbedtls_md_context_t * | ctx | ) |
Prepare the context to digest a new message.
Generally called after mbedtls_md_setup() or mbedtls_md_finish(). Followed by mbedtls_md_update().
ctx | generic message digest context. |
int mbedtls_md_update | ( | mbedtls_md_context_t * | ctx, |
const unsigned char * | input, | ||
size_t | ilen | ||
) |
Generic message digest process buffer Called between mbedtls_md_starts() and mbedtls_md_finish().
May be called repeatedly.
ctx | Generic message digest context |
input | buffer holding the datal |
ilen | length of the input data |