aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/transforms/signers/signer.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/charon/transforms/signers/signer.c')
-rw-r--r--Source/charon/transforms/signers/signer.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/charon/transforms/signers/signer.c b/Source/charon/transforms/signers/signer.c
index 3ecf58069..98c639f6c 100644
--- a/Source/charon/transforms/signers/signer.c
+++ b/Source/charon/transforms/signers/signer.c
@@ -22,6 +22,7 @@
#include "signer.h"
+#include <transforms/signers/hmac_signer.h>
/**
* string mappings for integrity_algorithm_t
@@ -35,3 +36,21 @@ mapping_t integrity_algorithm_m[] = {
{AUTH_AES_XCBC_96, "AUTH_AES_XCBC_96"},
{MAPPING_END, NULL}
};
+
+signer_t *signer_create(integrity_algorithm_t integrity_algorithm)
+{
+ switch(integrity_algorithm)
+ {
+ case AUTH_HMAC_SHA1_96:
+ {
+ return ((signer_t *) hmac_signer_create(HASH_SHA1));
+ }
+ case AUTH_HMAC_MD5_96:
+ {
+ return ((signer_t *) hmac_signer_create(HASH_MD5));
+ }
+
+ default:
+ return NULL;
+ }
+}