Require the raw key have the correct size and do away with the
minsize. Minsize was a thing that originated from RC2, but since RC2 is done in the x509/cms subsystem now there is no need to keep that around. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20981 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -80,7 +80,6 @@ struct key_type {
|
|||||||
const char *name;
|
const char *name;
|
||||||
size_t bits;
|
size_t bits;
|
||||||
size_t size;
|
size_t size;
|
||||||
size_t minsize;
|
|
||||||
size_t schedule_size;
|
size_t schedule_size;
|
||||||
#if 0
|
#if 0
|
||||||
krb5_enctype best_etype;
|
krb5_enctype best_etype;
|
||||||
@@ -725,7 +724,6 @@ static struct key_type keytype_null = {
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL
|
NULL
|
||||||
@@ -736,7 +734,6 @@ static struct key_type keytype_des = {
|
|||||||
"des",
|
"des",
|
||||||
56,
|
56,
|
||||||
sizeof(DES_cblock),
|
sizeof(DES_cblock),
|
||||||
sizeof(DES_cblock),
|
|
||||||
sizeof(DES_key_schedule),
|
sizeof(DES_key_schedule),
|
||||||
krb5_DES_random_key,
|
krb5_DES_random_key,
|
||||||
krb5_DES_schedule,
|
krb5_DES_schedule,
|
||||||
@@ -749,7 +746,6 @@ static struct key_type keytype_des3 = {
|
|||||||
"des3",
|
"des3",
|
||||||
168,
|
168,
|
||||||
3 * sizeof(DES_cblock),
|
3 * sizeof(DES_cblock),
|
||||||
3 * sizeof(DES_cblock),
|
|
||||||
3 * sizeof(DES_key_schedule),
|
3 * sizeof(DES_key_schedule),
|
||||||
DES3_random_key,
|
DES3_random_key,
|
||||||
DES3_schedule,
|
DES3_schedule,
|
||||||
@@ -762,7 +758,6 @@ static struct key_type keytype_des3_derived = {
|
|||||||
"des3",
|
"des3",
|
||||||
168,
|
168,
|
||||||
3 * sizeof(DES_cblock),
|
3 * sizeof(DES_cblock),
|
||||||
3 * sizeof(DES_cblock),
|
|
||||||
3 * sizeof(DES_key_schedule),
|
3 * sizeof(DES_key_schedule),
|
||||||
DES3_random_key,
|
DES3_random_key,
|
||||||
DES3_schedule,
|
DES3_schedule,
|
||||||
@@ -775,7 +770,6 @@ static struct key_type keytype_aes128 = {
|
|||||||
"aes-128",
|
"aes-128",
|
||||||
128,
|
128,
|
||||||
16,
|
16,
|
||||||
16,
|
|
||||||
sizeof(struct krb5_aes_schedule),
|
sizeof(struct krb5_aes_schedule),
|
||||||
NULL,
|
NULL,
|
||||||
AES_schedule,
|
AES_schedule,
|
||||||
@@ -787,7 +781,6 @@ static struct key_type keytype_aes256 = {
|
|||||||
"aes-256",
|
"aes-256",
|
||||||
256,
|
256,
|
||||||
32,
|
32,
|
||||||
32,
|
|
||||||
sizeof(struct krb5_aes_schedule),
|
sizeof(struct krb5_aes_schedule),
|
||||||
NULL,
|
NULL,
|
||||||
AES_schedule,
|
AES_schedule,
|
||||||
@@ -799,7 +792,6 @@ static struct key_type keytype_arcfour = {
|
|||||||
"arcfour",
|
"arcfour",
|
||||||
128,
|
128,
|
||||||
16,
|
16,
|
||||||
16,
|
|
||||||
sizeof(RC4_KEY),
|
sizeof(RC4_KEY),
|
||||||
NULL,
|
NULL,
|
||||||
ARCFOUR_schedule,
|
ARCFOUR_schedule,
|
||||||
@@ -3692,7 +3684,7 @@ krb5_crypto_init(krb5_context context,
|
|||||||
etype);
|
etype);
|
||||||
return KRB5_PROG_ETYPE_NOSUPP;
|
return KRB5_PROG_ETYPE_NOSUPP;
|
||||||
}
|
}
|
||||||
if((*crypto)->et->keytype->minsize > key->keyvalue.length) {
|
if((*crypto)->et->keytype->size != key->keyvalue.length) {
|
||||||
free(*crypto);
|
free(*crypto);
|
||||||
*crypto = NULL;
|
*crypto = NULL;
|
||||||
krb5_set_error_string (context, "encryption key has bad length");
|
krb5_set_error_string (context, "encryption key has bad length");
|
||||||
|
Reference in New Issue
Block a user