summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2010-01-12 01:07:48 +0000
committerGreg Hudson <ghudson@mit.edu>2010-01-12 01:07:48 +0000
commitda9d96e6f471b38cd31931132629be9a44db056b (patch)
tree65c82e65c570af66ba5ee5ccec994ed2cbd32f3c /src
parent1e1388b0a96333a792267209cb9eb3bff4eb877d (diff)
downloadkrb5-da9d96e6f471b38cd31931132629be9a44db056b.tar.gz
krb5-da9d96e6f471b38cd31931132629be9a44db056b.tar.xz
krb5-da9d96e6f471b38cd31931132629be9a44db056b.zip
Use keyed checksum type for DES FAST
DES enctypes have unkeyed mandatory-to-implement checksums. Since FAST requires a keyed checksum, we must pick something else in that case. ticket: 6633 target_version: 1.7 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23629 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/krb/fast.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/fast.c b/src/lib/krb5/krb/fast.c
index 48199815a..db95adca7 100644
--- a/src/lib/krb5/krb/fast.c
+++ b/src/lib/krb5/krb/fast.c
@@ -238,6 +238,9 @@ krb5int_fast_prep_req(krb5_context context,
if (retval == 0)
retval = krb5int_c_mandatory_cksumtype(context, state->armor_key->enctype,
&cksumtype);
+ /* DES enctypes have unkeyed mandatory checksums; need a keyed one. */
+ if (retval == 0 && !krb5_c_is_keyed_cksum(cksumtype))
+ cksumtype = CKSUMTYPE_RSA_MD5_DES;
if (retval ==0)
retval = krb5_c_make_checksum(context, cksumtype, state->armor_key,
KRB5_KEYUSAGE_FAST_REQ_CHKSUM, to_be_checksummed,