PolarSSL v1.1.4
|
Generic message digest wrapper. More...
#include <string.h>
Go to the source code of this file.
Data Structures | |
struct | md_info_t |
Message digest information. More... | |
struct | md_context_t |
Generic message digest context. More... | |
Defines | |
#define | POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
The selected feature is not available. | |
#define | POLARSSL_ERR_MD_BAD_INPUT_DATA -0x5100 |
Bad input parameters to function. | |
#define | POLARSSL_ERR_MD_ALLOC_FAILED -0x5180 |
Failed to allocate memory. | |
#define | POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200 |
Opening or reading of file failed. | |
#define | POLARSSL_MD_MAX_SIZE 64 /* longest known is SHA512 */ |
#define | MD_CONTEXT_T_INIT |
Enumerations | |
enum | md_type_t { POLARSSL_MD_NONE = 0, POLARSSL_MD_MD2, POLARSSL_MD_MD4, POLARSSL_MD_MD5, POLARSSL_MD_SHA1, POLARSSL_MD_SHA224, POLARSSL_MD_SHA256, POLARSSL_MD_SHA384, POLARSSL_MD_SHA512 } |
Functions | |
const int * | md_list (void) |
Returns the list of digests supported by the generic digest module. | |
const md_info_t * | md_info_from_string (const char *md_name) |
Returns the message digest information associated with the given digest name. | |
const md_info_t * | md_info_from_type (md_type_t md_type) |
Returns the message digest information associated with the given digest type. | |
int | md_init_ctx (md_context_t *ctx, const md_info_t *md_info) |
Initialises and fills the message digest context structure with the appropriate values. | |
int | md_free_ctx (md_context_t *ctx) |
Free the message-specific context of ctx. | |
static unsigned char | md_get_size (const md_info_t *md_info) |
Returns the size of the message digest output. | |
static md_type_t | md_get_type (const md_info_t *md_info) |
Returns the type of the message digest output. | |
static const char * | md_get_name (const md_info_t *md_info) |
Returns the name of the message digest output. | |
int | md_starts (md_context_t *ctx) |
Set-up the given context for a new message digest. | |
int | md_update (md_context_t *ctx, const unsigned char *input, size_t ilen) |
Generic message digest process buffer. | |
int | md_finish (md_context_t *ctx, unsigned char *output) |
Generic message digest final digest. | |
int | md (const md_info_t *md_info, const unsigned char *input, size_t ilen, unsigned char *output) |
Output = message_digest( input buffer ) | |
int | md_file (const md_info_t *md_info, const char *path, unsigned char *output) |
Output = message_digest( file contents ) | |
int | md_hmac_starts (md_context_t *ctx, const unsigned char *key, size_t keylen) |
Generic HMAC context setup. | |
int | md_hmac_update (md_context_t *ctx, const unsigned char *input, size_t ilen) |
Generic HMAC process buffer. | |
int | md_hmac_finish (md_context_t *ctx, unsigned char *output) |
Generic HMAC final digest. | |
int | md_hmac_reset (md_context_t *ctx) |
Generic HMAC context reset. | |
int | md_hmac (const 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 ) |
Generic message digest wrapper.
Copyright (C) 2006-2011, Brainspark B.V.
This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Definition in file md.h.
#define MD_CONTEXT_T_INIT |
#define POLARSSL_ERR_MD_ALLOC_FAILED -0x5180 |
#define POLARSSL_ERR_MD_BAD_INPUT_DATA -0x5100 |
#define POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x5080 |
#define POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200 |
#define POLARSSL_MD_MAX_SIZE 64 /* longest known is SHA512 */ |
enum md_type_t |
int md | ( | const 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 |
Referenced by FCT_BGN().
Output = message_digest( file contents )
md_info | message digest info |
path | input file name |
output | generic message digest checksum result |
Referenced by FCT_BGN().
int md_finish | ( | md_context_t * | ctx, |
unsigned char * | output | ||
) |
Generic message digest final digest.
ctx | Generic message digest context |
output | Generic message digest checksum result |
Referenced by FCT_BGN().
int md_free_ctx | ( | md_context_t * | ctx | ) |
Free the message-specific context of ctx.
Freeing ctx itself remains the responsibility of the caller.
ctx | Free the message-specific context |
Referenced by FCT_BGN().
static const char* md_get_name | ( | const md_info_t * | md_info | ) | [inline, static] |
Returns the name of the message digest output.
md_info | message digest info |
Definition at line 223 of file md.h.
References md_info_t::name.
static unsigned char md_get_size | ( | const md_info_t * | md_info | ) | [inline, static] |
Returns the size of the message digest output.
md_info | message digest info |
Definition at line 199 of file md.h.
References md_info_t::size.
Referenced by FCT_BGN().
static md_type_t md_get_type | ( | const md_info_t * | md_info | ) | [inline, static] |
Returns the type of the message digest output.
md_info | message digest info |
Definition at line 211 of file md.h.
References md_info_t::type.
int md_hmac | ( | const 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 |
input | buffer holding the data |
ilen | length of the input data |
output | Generic HMAC-result |
Referenced by FCT_BGN().
int md_hmac_finish | ( | md_context_t * | ctx, |
unsigned char * | output | ||
) |
Generic HMAC final digest.
ctx | HMAC context |
output | Generic HMAC checksum result |
Referenced by FCT_BGN().
int md_hmac_reset | ( | md_context_t * | ctx | ) |
Generic HMAC context reset.
ctx | HMAC context to be reset |
int md_hmac_starts | ( | md_context_t * | ctx, |
const unsigned char * | key, | ||
size_t | keylen | ||
) |
Generic HMAC context setup.
ctx | HMAC context to be initialized |
key | HMAC secret key |
keylen | length of the HMAC key |
Referenced by FCT_BGN().
int md_hmac_update | ( | md_context_t * | ctx, |
const unsigned char * | input, | ||
size_t | ilen | ||
) |
Generic HMAC process buffer.
ctx | HMAC context |
input | buffer holding the data |
ilen | length of the input data |
Referenced by FCT_BGN().
const md_info_t* 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. |
Referenced by FCT_BGN().
const md_info_t* md_info_from_type | ( | md_type_t | md_type | ) |
Returns the message digest information associated with the given digest type.
md_type | type of digest to search for. |
int md_init_ctx | ( | md_context_t * | ctx, |
const md_info_t * | md_info | ||
) |
Initialises and fills the message digest context structure with the appropriate values.
ctx | context to initialise. May not be NULL. The digest-specific context (ctx->md_ctx) must be NULL. It will be allocated, and must be freed using md_free_ctx() later. |
md_info | message digest to use. |
0
on success, POLARSSL_ERR_MD_BAD_INPUT_DATA
on parameter failure, POLARSSL_ERR_MD_ALLOC_FAILED
if allocation of the digest-specific context failed. Referenced by FCT_BGN().
const int* md_list | ( | void | ) |
Returns the list of digests supported by the generic digest module.
int md_starts | ( | md_context_t * | ctx | ) |
Set-up the given context for a new message digest.
ctx | generic message digest context. |
Referenced by FCT_BGN().
int md_update | ( | md_context_t * | ctx, |
const unsigned char * | input, | ||
size_t | ilen | ||
) |
Generic message digest process buffer.
ctx | Generic message digest context |
input | buffer holding the datal |
ilen | length of the input data |
Referenced by FCT_BGN().