Use krb5_decrypt

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1328 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-03-09 20:03:12 +00:00
parent 4ddfe05bd3
commit e500b96716

View File

@@ -8,27 +8,17 @@ decrypt_tkt_enc_part (krb5_context context,
EncryptedData *enc_part, EncryptedData *enc_part,
EncTicketPart *decr_part) EncTicketPart *decr_part)
{ {
des_key_schedule sched; krb5_error_code ret;
char *buf; krb5_data plain;
int i; int len;
int len = enc_part->cipher.length;
des_set_key (key->contents.data, sched); ret = krb5_decrypt (context, enc_part->cipher.data, enc_part->cipher.length, key, &plain);
buf = malloc (len); if (ret)
if (buf == NULL) return ret;
return ENOMEM;
des_cbc_encrypt ((des_cblock *)enc_part->cipher.data,
(des_cblock *)buf,
len,
sched,
key->contents.data,
DES_DECRYPT);
/* XXX: Check CRC */
i = decode_EncTicketPart((unsigned char*)buf + 12, len - 12, len = decode_EncTicketPart(plain.data, plain.length, decr_part);
decr_part); krb5_data_free (&plain);
free (buf); if (len < 0)
if (i < 0)
return ASN1_PARSE_ERROR; return ASN1_PARSE_ERROR;
return 0; return 0;
} }
@@ -39,30 +29,20 @@ decrypt_authenticator (krb5_context context,
EncryptedData *enc_part, EncryptedData *enc_part,
Authenticator *authenticator) Authenticator *authenticator)
{ {
des_key_schedule sched; krb5_error_code ret;
char *buf; krb5_data plain;
int i; int len;
int len = enc_part->cipher.length;
des_set_key (key->keyvalue.data, sched); ret = krb5_decrypt (context, enc_part->cipher.data, enc_part->cipher.length, key, &plain);
buf = malloc (len); if (ret)
if (buf == NULL) return ret;
return ENOMEM;
des_cbc_encrypt ((des_cblock *)enc_part->cipher.data,
(des_cblock *)buf,
len,
sched,
key->keyvalue.data,
DES_DECRYPT);
/* XXX: Check CRC */
i = decode_Authenticator((unsigned char*)buf + 12, len - 12, len = decode_Authenticator(plain.data, plain.length, authenticator);
authenticator); krb5_data_free (&plain);
free(buf); if (len < 0)
if (i < 0)
return ASN1_PARSE_ERROR; return ASN1_PARSE_ERROR;
return 0; return 0;
} }
krb5_error_code krb5_error_code
krb5_rd_req(krb5_context context, krb5_rd_req(krb5_context context,
@@ -162,7 +142,7 @@ krb5_rd_req(krb5_context context,
*ap_req_options |= AP_OPTS_MUTUAL_REQUIRED; *ap_req_options |= AP_OPTS_MUTUAL_REQUIRED;
} }
/* Check adress and time */ /* Check address and time */
return 0; return 0;
} }