Support the Linux specific SHA256 96 bit truncation HMAC via "sha256_96" keyword
This commit is contained in:
@@ -195,7 +195,7 @@ static kernel_algorithm_t encryption_algs[] = {
|
|||||||
static kernel_algorithm_t integrity_algs[] = {
|
static kernel_algorithm_t integrity_algs[] = {
|
||||||
{AUTH_HMAC_MD5_96, "md5" },
|
{AUTH_HMAC_MD5_96, "md5" },
|
||||||
{AUTH_HMAC_SHA1_96, "sha1" },
|
{AUTH_HMAC_SHA1_96, "sha1" },
|
||||||
{AUTH_HMAC_SHA2_256_128, "sha256" },
|
{AUTH_HMAC_SHA2_256_96, "sha256" },
|
||||||
{AUTH_HMAC_SHA2_384_192, "sha384" },
|
{AUTH_HMAC_SHA2_384_192, "sha384" },
|
||||||
{AUTH_HMAC_SHA2_512_256, "sha512" },
|
{AUTH_HMAC_SHA2_512_256, "sha512" },
|
||||||
/* {AUTH_DES_MAC, "***" }, */
|
/* {AUTH_DES_MAC, "***" }, */
|
||||||
|
|||||||
@@ -110,6 +110,7 @@ keylen_entry_t keylen_enc[] = {
|
|||||||
keylen_entry_t keylen_int[] = {
|
keylen_entry_t keylen_int[] = {
|
||||||
{AUTH_HMAC_MD5_96, 128},
|
{AUTH_HMAC_MD5_96, 128},
|
||||||
{AUTH_HMAC_SHA1_96, 160},
|
{AUTH_HMAC_SHA1_96, 160},
|
||||||
|
{AUTH_HMAC_SHA2_256_96, 256},
|
||||||
{AUTH_HMAC_SHA2_256_128, 256},
|
{AUTH_HMAC_SHA2_256_128, 256},
|
||||||
{AUTH_HMAC_SHA2_384_192, 384},
|
{AUTH_HMAC_SHA2_384_192, 384},
|
||||||
{AUTH_HMAC_SHA2_512_256, 512},
|
{AUTH_HMAC_SHA2_512_256, 512},
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ sha, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA1_96, 0
|
|||||||
sha1, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA1_96, 0
|
sha1, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA1_96, 0
|
||||||
sha256, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_128, 0
|
sha256, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_128, 0
|
||||||
sha2_256, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_128, 0
|
sha2_256, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_128, 0
|
||||||
|
sha256_96, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_96, 0
|
||||||
|
sha2_256_96, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_256_96, 0
|
||||||
sha384, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_384_192, 0
|
sha384, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_384_192, 0
|
||||||
sha2_384, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_384_192, 0
|
sha2_384, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_384_192, 0
|
||||||
sha512, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_512_256, 0
|
sha512, INTEGRITY_ALGORITHM, AUTH_HMAC_SHA2_512_256, 0
|
||||||
|
|||||||
@@ -16,10 +16,11 @@
|
|||||||
|
|
||||||
#include "signer.h"
|
#include "signer.h"
|
||||||
|
|
||||||
ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_HMAC_SHA1_128,
|
ENUM_BEGIN(integrity_algorithm_names, AUTH_UNDEFINED, AUTH_HMAC_SHA2_256_96,
|
||||||
"UNDEFINED",
|
"UNDEFINED",
|
||||||
"HMAC_SHA1_128");
|
"HMAC_SHA1_128",
|
||||||
ENUM_NEXT(integrity_algorithm_names, AUTH_HMAC_MD5_96, AUTH_HMAC_SHA2_512_256, AUTH_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_MD5_96",
|
"HMAC_MD5_96",
|
||||||
"HMAC_SHA1_96",
|
"HMAC_SHA1_96",
|
||||||
"DES_MAC",
|
"DES_MAC",
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ enum integrity_algorithm_t {
|
|||||||
AUTH_HMAC_SHA2_512_256 = 14,
|
AUTH_HMAC_SHA2_512_256 = 14,
|
||||||
/** private use */
|
/** private use */
|
||||||
AUTH_HMAC_SHA1_128 = 1025,
|
AUTH_HMAC_SHA1_128 = 1025,
|
||||||
|
/** SHA256 96 bit truncation variant, supported by Linux kernels */
|
||||||
|
AUTH_HMAC_SHA2_256_96 = 1026,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user