diff --git a/lib/hdb/convert_db.c b/lib/hdb/convert_db.c index f29d097b2..f7ddf6af3 100644 --- a/lib/hdb/convert_db.c +++ b/lib/hdb/convert_db.c @@ -56,6 +56,8 @@ func(krb5_context context, HDB *db, hdb_entry *entry, void *data) for(i = 0; i < entry->keys.len; i++) if(entry->keys.val[i].key.keytype == KEYTYPE_DES) n += 2; + else if(entry->keys.val[i].key.keytype == KEYTYPE_DES3) + n += 1; k = malloc(sizeof(*k) * (entry->keys.len + n)); n = 0; for(i = 0; i < entry->keys.len; i++) { @@ -67,6 +69,11 @@ func(krb5_context context, HDB *db, hdb_entry *entry, void *data) k[n+2].key.keytype = ETYPE_DES_CBC_MD5; n += 2; } + else if(entry->keys.val[i].key.keytype == KEYTYPE_DES3) { + copy_Key(&entry->keys.val[i], &k[n+1]); + k[n+1].key.keytype = ETYPE_DES3_CBC_MD5; + n += 1; + } n++; } save_len = entry->keys.len;