From 8c45f0f102f5721410b8460b89f79385509a5010 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Mon, 4 May 2009 23:01:40 +0200 Subject: [PATCH] added support for AUTH_HMAC_SHA1_160 --- src/libstrongswan/crypto/signers/signer.c | 7 ++++--- src/libstrongswan/crypto/signers/signer.h | 4 +++- src/libstrongswan/plugins/hmac/hmac_signer.c | 4 ++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libstrongswan/crypto/signers/signer.c b/src/libstrongswan/crypto/signers/signer.c index 291e28d79..d7be3c1d6 100644 --- a/src/libstrongswan/crypto/signers/signer.c +++ b/src/libstrongswan/crypto/signers/signer.c @@ -19,14 +19,15 @@ ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_HMAC_SHA1_128, "UNDEFINED", "AUTH_HMAC_SHA1_128"); -ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_MD5_128, AUTH_HMAC_SHA1_128, +ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_SHA1_160, AUTH_HMAC_SHA1_128, "HMAC_MD5_96", "HMAC_SHA1_96", "DES_MAC", "KPDK_MD5", "AES_XCBC_96", - "HMAC_MD5_128"); -ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_SHA2_256_128, AUTH_HMAC_SHA2_512_256, AUTH_HMAC_MD5_128, + "HMAC_MD5_128", + "HMAC_SHA1_160"); +ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_SHA2_256_128, AUTH_HMAC_SHA2_512_256, AUTH_HMAC_SHA1_160, "AUTH_HMAC_SHA2_256_128", "AUTH_HMAC_SHA2_384_192", "AUTH_HMAC_SHA2_512_256"); diff --git a/src/libstrongswan/crypto/signers/signer.h b/src/libstrongswan/crypto/signers/signer.h index 3b6433ef2..fc3d7a3fa 100644 --- a/src/libstrongswan/crypto/signers/signer.h +++ b/src/libstrongswan/crypto/signers/signer.h @@ -41,8 +41,10 @@ enum integrity_algorithm_t { AUTH_DES_MAC = 3, AUTH_KPDK_MD5 = 4, AUTH_AES_XCBC_96 = 5, - /** RFC4595, used for RADIUS */ + /** RFC4595, used for IKEv1 or RADIUS */ AUTH_HMAC_MD5_128 = 6, + /** RFC4595, used for IKEv1 */ + AUTH_HMAC_SHA1_160 = 7, /** Implemented via hmac_signer_t */ AUTH_HMAC_SHA2_256_128 = 12, /** Implemented via hmac_signer_t */ diff --git a/src/libstrongswan/plugins/hmac/hmac_signer.c b/src/libstrongswan/plugins/hmac/hmac_signer.c index f37ae2712..b44bc2109 100644 --- a/src/libstrongswan/plugins/hmac/hmac_signer.c +++ b/src/libstrongswan/plugins/hmac/hmac_signer.c @@ -153,6 +153,10 @@ hmac_signer_t *hmac_signer_create(integrity_algorithm_t algo) hash = HASH_SHA1; trunc = 16; break; + case AUTH_HMAC_SHA1_160: + hash = HASH_SHA1; + trunc = 20; + break; case AUTH_HMAC_MD5_96: hash = HASH_MD5; trunc = 12;