]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Added support for AUTH_HMAC_SHA2_256_256, used in TLS
authorMartin Willi <martin@revosec.ch>
Mon, 25 Jan 2010 11:15:05 +0000 (11:15 +0000)
committerMartin Willi <martin@revosec.ch>
Tue, 3 Aug 2010 13:39:24 +0000 (15:39 +0200)
src/libstrongswan/crypto/signers/signer.c
src/libstrongswan/crypto/signers/signer.h
src/libstrongswan/plugins/hmac/hmac_signer.c

index e98916bfead11ca02cc176bec98225ce8e9f1378..1c7dcaef0f8d83abb21033fcce1c4a5e667eeadd 100644 (file)
 
 #include "signer.h"
 
-ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_HMAC_SHA2_256_96,
+ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_HMAC_SHA2_256_256,
        "UNDEFINED",
        "HMAC_SHA1_128",
-       "HMAC_SHA2_256_96");
-ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_SHA2_512_256, AUTH_HMAC_SHA2_256_96,
+       "HMAC_SHA2_256_96",
+       "HMAC_SHA2_256_256");
+ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_SHA2_512_256, AUTH_HMAC_SHA2_256_256,
        "HMAC_MD5_96",
        "HMAC_SHA1_96",
        "DES_MAC",
index 94e8c99b963b4796d1e028069cf491e35e6b473c..02efc1c5acc3e57df670e95a691cb905d729442a 100644 (file)
@@ -66,6 +66,8 @@ enum integrity_algorithm_t {
        AUTH_HMAC_SHA1_128 = 1025,
        /** SHA256 96 bit truncation variant, supported by Linux kernels */
        AUTH_HMAC_SHA2_256_96 = 1026,
+       /** SHA256 full length tuncation variant, as used in TLS */
+       AUTH_HMAC_SHA2_256_256 = 1027,
 };
 
 /**
index f82a8f3a1201fcb21a4d16553cf5f55c4f9435d1..7b8e03c6d1026ad9e0af655fc4139507f7391787 100644 (file)
@@ -177,6 +177,9 @@ hmac_signer_t *hmac_signer_create(integrity_algorithm_t algo)
                        hash = HASH_SHA512;
                        trunc = 32;
                        break;
+               case AUTH_HMAC_SHA2_256_256:
+                       hash = HASH_SHA256;
+                       trunc = 32;
                default:
                        return NULL;
        }