diff options
author | Martin Willi <martin@revosec.ch> | 2010-09-03 12:51:26 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2010-09-03 14:54:43 +0200 |
commit | 033fe95f0b8805b6341dd11258c3e1783c6b4880 (patch) | |
tree | 39893e274dba83f4e4293bec16d9e306793b0c57 /src | |
parent | 4cdade5aaecf7c03bc68ede05877ff04eef665fc (diff) | |
download | strongswan-033fe95f0b8805b6341dd11258c3e1783c6b4880.tar.bz2 strongswan-033fe95f0b8805b6341dd11258c3e1783c6b4880.tar.xz |
Added support for a non-truncated SHA384 HMAC variant, as used by TLS
Diffstat (limited to 'src')
-rw-r--r-- | src/libstrongswan/crypto/signers/signer.c | 1 | ||||
-rw-r--r-- | src/libstrongswan/crypto/signers/signer.h | 4 | ||||
-rw-r--r-- | src/libstrongswan/plugins/hmac/hmac_signer.c | 5 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/libstrongswan/crypto/signers/signer.c b/src/libstrongswan/crypto/signers/signer.c index f26896309..d8659170b 100644 --- a/src/libstrongswan/crypto/signers/signer.c +++ b/src/libstrongswan/crypto/signers/signer.c @@ -21,6 +21,7 @@ ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_CAMELLIA_XCBC_96, "HMAC_SHA1_128", "HMAC_SHA2_256_96", "HMAC_SHA2_256_256", + "HMAC_SHA2_384_384", "CAMELLIA_XCBC_96"); ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_SHA2_512_256, AUTH_CAMELLIA_XCBC_96, "HMAC_MD5_96", diff --git a/src/libstrongswan/crypto/signers/signer.h b/src/libstrongswan/crypto/signers/signer.h index 0304c611d..e2c224d8b 100644 --- a/src/libstrongswan/crypto/signers/signer.h +++ b/src/libstrongswan/crypto/signers/signer.h @@ -68,8 +68,10 @@ enum integrity_algorithm_t { AUTH_HMAC_SHA2_256_96 = 1026, /** SHA256 full length tuncation variant, as used in TLS */ AUTH_HMAC_SHA2_256_256 = 1027, + /** SHA384 full length tuncation variant, as used in TLS */ + AUTH_HMAC_SHA2_384_384 = 1028, /** draft-kanno-ipsecme-camellia-xcbc, not yet assigned by IANA */ - AUTH_CAMELLIA_XCBC_96 = 1028, + AUTH_CAMELLIA_XCBC_96 = 1029, }; /** diff --git a/src/libstrongswan/plugins/hmac/hmac_signer.c b/src/libstrongswan/plugins/hmac/hmac_signer.c index 26483a990..511a3e3a5 100644 --- a/src/libstrongswan/plugins/hmac/hmac_signer.c +++ b/src/libstrongswan/plugins/hmac/hmac_signer.c @@ -162,6 +162,11 @@ hmac_signer_t *hmac_signer_create(integrity_algorithm_t algo) case AUTH_HMAC_SHA2_256_256: hmac = hmac_create(HASH_SHA256); trunc = 32; + break; + case AUTH_HMAC_SHA2_384_384: + hmac = hmac_create(HASH_SHA384); + trunc = 48; + break; default: return NULL; } |