From ec01d69f73e94710407232c42f5997e11995ad13 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Mon, 17 Aug 2009 10:45:21 +0200 Subject: [PATCH] switch to use EVP interface instead of old crypto interface --- kdc/digest.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/kdc/digest.c b/kdc/digest.c index 58d283aca..075581dcb 100644 --- a/kdc/digest.c +++ b/kdc/digest.c @@ -1333,7 +1333,7 @@ _kdc_do_digest(krb5_context context, if (ireq.u.ntlmRequest.sessionkey) { unsigned char masterkey[MD4_DIGEST_LENGTH]; - RC4_KEY rc4; + EVP_CIPHER_CTX rc4; size_t len; if ((flags & NTLM_NEG_KEYEX) == 0) { @@ -1353,12 +1353,13 @@ _kdc_do_digest(krb5_context context, goto failed; } - RC4_set_key(&rc4, sizeof(sessionkey), sessionkey); - - RC4(&rc4, sizeof(masterkey), - ireq.u.ntlmRequest.sessionkey->data, - masterkey); - memset(&rc4, 0, sizeof(rc4)); + + EVP_CIPHER_CTX_init(&rc4); + EVP_CipherInit_ex(&rc4, EVP_rc4(), NULL, sessionkey, NULL, 1); + EVP_Cipher(&rc4, + masterkey, ireq.u.ntlmRequest.sessionkey->data, + sizeof(masterkey)); + EVP_CIPHER_CTX_cleanup(&rc4); r.u.ntlmResponse.sessionkey = malloc(sizeof(*r.u.ntlmResponse.sessionkey));