aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/crypto/krb/checksum/hmac_md5.c2
-rw-r--r--src/lib/crypto/krb/cksumtypes.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/crypto/krb/checksum/hmac_md5.c b/src/lib/crypto/krb/checksum/hmac_md5.c
index 1dc05ea..4812907 100644
--- a/src/lib/crypto/krb/checksum/hmac_md5.c
+++ b/src/lib/crypto/krb/checksum/hmac_md5.c
@@ -48,6 +48,8 @@ krb5_error_code krb5int_hmacmd5_checksum(const struct krb5_cksumtypes *ctp,
krb5_data ds = empty_data(), hashval = empty_data();
char t[4];
+ if (key == NULL || key->keyblock.length > ctp->hash->blocksize)
+ return KRB5_BAD_ENCTYPE;
if (ctp->ctype == CKSUMTYPE_HMAC_MD5_ARCFOUR) {
/* Compute HMAC(key, "signaturekey\0") to get the signing key ks. */
ret = alloc_data(&ds, key->keyblock.length);
diff --git a/src/lib/crypto/krb/cksumtypes.c b/src/lib/crypto/krb/cksumtypes.c
index 74fd158..6e16b4e 100644
--- a/src/lib/crypto/krb/cksumtypes.c
+++ b/src/lib/crypto/krb/cksumtypes.c
@@ -82,8 +82,8 @@ const struct krb5_cksumtypes krb5int_cksumtypes_list[] = {
{ CKSUMTYPE_HMAC_MD5_ARCFOUR,
"hmac-md5-rc4", { "hmac-md5-enc", "hmac-md5-earcfour" },
- "Microsoft HMAC MD5 (RC4 key)",
- &krb5int_enc_arcfour, &krb5int_hash_md5,
+ "Microsoft HMAC MD5",
+ NULL, &krb5int_hash_md5,
krb5int_hmacmd5_checksum, NULL,
16, 16, 0 },
@@ -100,8 +100,8 @@ const struct krb5_cksumtypes krb5int_cksumtypes_list[] = {
20, 12, 0 },
{ CKSUMTYPE_MD5_HMAC_ARCFOUR,
- "md5-hmac-rc4", { 0 }, "Microsoft MD5 HMAC (RC4 key)",
- &krb5int_enc_arcfour, &krb5int_hash_md5,
+ "md5-hmac-rc4", { 0 }, "Microsoft MD5 HMAC",
+ NULL, &krb5int_hash_md5,
krb5int_hmacmd5_checksum, NULL,
16, 16, 0 },
};