Remove support for MD2
No part of IKE/IPsec or X.509 uses MD2 anymore, so there really is no reason to still support it (unlike MD4 that is used in EAP-MSCHAPv2, MD5 that's used in EAP-MD5, or SHA-1 that's used for e.g. NAT-D hashes). It caused test vectors to fail on systems where OpenSSL is built with MD2 support but has it disabled at runtime.
This commit is contained in:
@@ -30,7 +30,6 @@ ENUM_BEGIN(hash_algorithm_names, HASH_SHA1, HASH_IDENTITY,
|
||||
"HASH_IDENTITY");
|
||||
ENUM_NEXT(hash_algorithm_names, HASH_UNKNOWN, HASH_SHA3_512, HASH_IDENTITY,
|
||||
"HASH_UNKNOWN",
|
||||
"HASH_MD2",
|
||||
"HASH_MD4",
|
||||
"HASH_MD5",
|
||||
"HASH_SHA2_224",
|
||||
@@ -48,7 +47,6 @@ ENUM_BEGIN(hash_algorithm_short_names, HASH_SHA1, HASH_IDENTITY,
|
||||
"identity");
|
||||
ENUM_NEXT(hash_algorithm_short_names, HASH_UNKNOWN, HASH_SHA3_512, HASH_IDENTITY,
|
||||
"unknown",
|
||||
"md2",
|
||||
"md4",
|
||||
"md5",
|
||||
"sha224",
|
||||
@@ -66,7 +64,6 @@ ENUM_BEGIN(hash_algorithm_short_names_upper, HASH_SHA1, HASH_IDENTITY,
|
||||
"IDENTITY");
|
||||
ENUM_NEXT(hash_algorithm_short_names_upper, HASH_UNKNOWN, HASH_SHA3_512, HASH_IDENTITY,
|
||||
"UNKNOWN",
|
||||
"MD2",
|
||||
"MD4",
|
||||
"MD5",
|
||||
"SHA2_224",
|
||||
@@ -91,8 +88,6 @@ size_t hasher_hash_size(hash_algorithm_t alg)
|
||||
return HASH_SIZE_SHA384;
|
||||
case HASH_SHA512:
|
||||
return HASH_SIZE_SHA512;
|
||||
case HASH_MD2:
|
||||
return HASH_SIZE_MD2;
|
||||
case HASH_MD4:
|
||||
return HASH_SIZE_MD4;
|
||||
case HASH_MD5:
|
||||
@@ -121,9 +116,6 @@ hash_algorithm_t hasher_algorithm_from_oid(int oid)
|
||||
{
|
||||
switch (oid)
|
||||
{
|
||||
case OID_MD2:
|
||||
case OID_MD2_WITH_RSA:
|
||||
return HASH_MD2;
|
||||
case OID_MD5:
|
||||
case OID_MD5_WITH_RSA:
|
||||
return HASH_MD5;
|
||||
@@ -323,7 +315,6 @@ integrity_algorithm_t hasher_algorithm_to_integrity(hash_algorithm_t alg,
|
||||
return AUTH_HMAC_SHA2_512_512;
|
||||
}
|
||||
break;
|
||||
case HASH_MD2:
|
||||
case HASH_MD4:
|
||||
case HASH_SHA224:
|
||||
case HASH_SHA3_224:
|
||||
@@ -350,7 +341,6 @@ bool hasher_algorithm_for_ikev2(hash_algorithm_t alg)
|
||||
case HASH_SHA512:
|
||||
return TRUE;
|
||||
case HASH_UNKNOWN:
|
||||
case HASH_MD2:
|
||||
case HASH_MD4:
|
||||
case HASH_MD5:
|
||||
case HASH_SHA1:
|
||||
@@ -373,9 +363,6 @@ int hasher_algorithm_to_oid(hash_algorithm_t alg)
|
||||
|
||||
switch (alg)
|
||||
{
|
||||
case HASH_MD2:
|
||||
oid = OID_MD2;
|
||||
break;
|
||||
case HASH_MD5:
|
||||
oid = OID_MD5;
|
||||
break;
|
||||
@@ -422,8 +409,6 @@ int hasher_signature_algorithm_to_oid(hash_algorithm_t alg, key_type_t key)
|
||||
case KEY_RSA:
|
||||
switch (alg)
|
||||
{
|
||||
case HASH_MD2:
|
||||
return OID_MD2_WITH_RSA;
|
||||
case HASH_MD5:
|
||||
return OID_MD5_WITH_RSA;
|
||||
case HASH_SHA1:
|
||||
|
||||
@@ -45,17 +45,15 @@ enum hash_algorithm_t {
|
||||
HASH_IDENTITY = 5,
|
||||
/* use private use range for algorithms not defined/permitted by RFC 7427 */
|
||||
HASH_UNKNOWN = 1024,
|
||||
HASH_MD2 = 1025,
|
||||
HASH_MD4 = 1026,
|
||||
HASH_MD5 = 1027,
|
||||
HASH_SHA224 = 1028,
|
||||
HASH_SHA3_224 = 1029,
|
||||
HASH_SHA3_256 = 1030,
|
||||
HASH_SHA3_384 = 1031,
|
||||
HASH_SHA3_512 = 1032
|
||||
HASH_MD4 = 1025,
|
||||
HASH_MD5 = 1026,
|
||||
HASH_SHA224 = 1027,
|
||||
HASH_SHA3_224 = 1028,
|
||||
HASH_SHA3_256 = 1029,
|
||||
HASH_SHA3_384 = 1030,
|
||||
HASH_SHA3_512 = 1031
|
||||
};
|
||||
|
||||
#define HASH_SIZE_MD2 16
|
||||
#define HASH_SIZE_MD4 16
|
||||
#define HASH_SIZE_MD5 16
|
||||
#define HASH_SIZE_SHA1 20
|
||||
|
||||
@@ -60,7 +60,6 @@ ext_out_function_t xof_mgf1_from_hash_algorithm(hash_algorithm_t alg)
|
||||
return XOF_MGF1_SHA3_384;
|
||||
case HASH_IDENTITY:
|
||||
case HASH_UNKNOWN:
|
||||
case HASH_MD2:
|
||||
case HASH_MD4:
|
||||
case HASH_MD5:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user