4 * @brief Implementation of generic signer_t constructor.
9 * Copyright (C) 2005 Jan Hutter, Martin Willi
10 * Hochschule fuer Technik Rapperswil
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the
14 * Free Software Foundation; either version 2 of the License, or (at your
15 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
19 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 #include <transforms/signers/hmac_signer.h>
28 * string mappings for integrity_algorithm_t
30 mapping_t integrity_algorithm_m
[] = {
31 {AUTH_UNDEFINED
, "AUTH_UNDEFINED"},
32 {AUTH_HMAC_MD5_96
, "AUTH_HMAC_MD5_96"},
33 {AUTH_HMAC_SHA1_96
, "AUTH_HMAC_SHA1_96"},
34 {AUTH_DES_MAC
, "AUTH_DES_MAC"},
35 {AUTH_KPDK_MD5
, "AUTH_KPDK_MD5"},
36 {AUTH_AES_XCBC_96
, "AUTH_AES_XCBC_96"},
40 signer_t
*signer_create(integrity_algorithm_t integrity_algorithm
)
42 switch(integrity_algorithm
)
44 case AUTH_HMAC_SHA1_96
:
46 return ((signer_t
*) hmac_signer_create(HASH_SHA1
));
48 case AUTH_HMAC_MD5_96
:
50 return ((signer_t
*) hmac_signer_create(HASH_MD5
));