hasher: Redefine hash algorithms to match values defined by RFC 7427

Other algorithms are defined in private use range.
This commit is contained in:
Tobias Brunner
2015-03-04 13:54:08 +01:00
parent 159b7bec9e
commit 4f9e1c49eb
2 changed files with 29 additions and 27 deletions
+17 -15
View File
@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2012 Tobias Brunner * Copyright (C) 2012-2015 Tobias Brunner
* Copyright (C) 2005-2006 Martin Willi * Copyright (C) 2005-2006 Martin Willi
* Copyright (C) 2005 Jan Hutter * Copyright (C) 2005 Jan Hutter
* Hochschule fuer Technik Rapperswil * Hochschule fuer Technik Rapperswil
@@ -19,29 +19,31 @@
#include <asn1/oid.h> #include <asn1/oid.h>
ENUM(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA512, ENUM_BEGIN(hash_algorithm_names, HASH_SHA1, HASH_SHA512,
"HASH_SHA1",
"HASH_SHA256",
"HASH_SHA384",
"HASH_SHA512");
ENUM_NEXT(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA224, HASH_SHA512,
"HASH_UNKNOWN", "HASH_UNKNOWN",
"HASH_MD2", "HASH_MD2",
"HASH_MD4", "HASH_MD4",
"HASH_MD5", "HASH_MD5",
"HASH_SHA1", "HASH_SHA224");
"HASH_SHA224", ENUM_END(hash_algorithm_names, HASH_SHA224);
"HASH_SHA256",
"HASH_SHA384",
"HASH_SHA512"
);
ENUM(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA512, ENUM_BEGIN(hash_algorithm_short_names, HASH_SHA1, HASH_SHA512,
"sha1",
"sha256",
"sha384",
"sha512");
ENUM_NEXT(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA224, HASH_SHA512,
"unknown", "unknown",
"md2", "md2",
"md4", "md4",
"md5", "md5",
"sha1", "sha224");
"sha224", ENUM_END(hash_algorithm_short_names, HASH_SHA224);
"sha256",
"sha384",
"sha512"
);
/* /*
* Described in header. * Described in header.
+12 -12
View File
@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2012 Tobias Brunner * Copyright (C) 2012-2015 Tobias Brunner
* Copyright (C) 2005-2006 Martin Willi * Copyright (C) 2005-2006 Martin Willi
* Copyright (C) 2005 Jan Hutter * Copyright (C) 2005 Jan Hutter
* Hochschule fuer Technik Rapperswil * Hochschule fuer Technik Rapperswil
@@ -32,19 +32,19 @@ typedef struct hasher_t hasher_t;
#include <credentials/keys/public_key.h> #include <credentials/keys/public_key.h>
/** /**
* Algorithms to use for hashing. * Hash algorithms as defined for IKEv2 by RFC 7427
*/ */
enum hash_algorithm_t { enum hash_algorithm_t {
/** not specified hash function */ HASH_SHA1 = 1,
HASH_UNKNOWN = 0, HASH_SHA256 = 2,
HASH_MD2 = 1, HASH_SHA384 = 3,
HASH_MD4 = 2, HASH_SHA512 = 4,
HASH_MD5 = 3, /* use private use range for algorithms not defined/permitted by RFC 7427 */
HASH_SHA1 = 4, HASH_UNKNOWN = 1024,
HASH_SHA224 = 5, HASH_MD2 = 1025,
HASH_SHA256 = 6, HASH_MD4 = 1026,
HASH_SHA384 = 7, HASH_MD5 = 1027,
HASH_SHA512 = 8 HASH_SHA224 = 1028,
}; };
#define HASH_SIZE_MD2 16 #define HASH_SIZE_MD2 16