switch to use EVP interface instead of old MDX_ style interface

This commit is contained in:
Love Hornquist Astrand
2009-08-17 10:20:01 +02:00
parent ddb54ca483
commit dfd1edb54d

View File

@@ -80,7 +80,7 @@ _gss_ntlm_set_key(struct ntlmv2_key *key, int acceptor, int sealsign,
unsigned char *data, size_t len) unsigned char *data, size_t len)
{ {
unsigned char out[16]; unsigned char out[16];
MD5_CTX ctx; EVP_MD_CTX ctx;
const char *signmagic; const char *signmagic;
const char *sealmagic; const char *sealmagic;
@@ -94,15 +94,19 @@ _gss_ntlm_set_key(struct ntlmv2_key *key, int acceptor, int sealsign,
key->seq = 0; key->seq = 0;
MD5_Init(&ctx); EVP_MD_CTX_init(&ctx);
MD5_Update(&ctx, data, len); EVP_DigestInit_ex(&ctx, EVP_md5(), NULL);
MD5_Update(&ctx, signmagic, strlen(signmagic) + 1); EVP_DigestUpdate(&ctx, data, len);
MD5_Final(key->signkey, &ctx); EVP_DigestUpdate(&ctx, signmagic, strlen(signmagic) + 1);
EVP_DigestFinal_ex(&ctx, key->signkey, NULL);
EVP_MD_CTX_cleanup(&ctx);
MD5_Init(&ctx); EVP_MD_CTX_init(&ctx);
MD5_Update(&ctx, data, len); EVP_DigestInit_ex(&ctx, EVP_md5(), NULL);
MD5_Update(&ctx, sealmagic, strlen(sealmagic) + 1); EVP_DigestUpdate(&ctx, data, len);
MD5_Final(out, &ctx); EVP_DigestUpdate(&ctx, sealmagic, strlen(sealmagic) + 1);
EVP_DigestFinal_ex(&ctx, out, NULL);
EVP_MD_CTX_cleanup(&ctx);
RC4_set_key(&key->sealkey, 16, out); RC4_set_key(&key->sealkey, 16, out);
if (sealsign) if (sealsign)