switch to use EVP interface instead of old MDX_ style interface

This commit is contained in:
Love Hornquist Astrand
2009-08-17 10:10:42 +02:00
parent 9745ba2d18
commit ddb8230917

View File

@@ -74,32 +74,36 @@ hash_input_chan_bindings (const gss_channel_bindings_t b,
u_char *p)
{
u_char num[4];
MD5_CTX md5;
EVP_MD_CTX ctx;
EVP_MD_CTX_init(&ctx);
EVP_DigestInit_ex(&ctx, EVP_md5(), NULL);
MD5_Init(&md5);
_gsskrb5_encode_om_uint32 (b->initiator_addrtype, num);
MD5_Update (&md5, num, sizeof(num));
EVP_DigestUpdate(&ctx, num, sizeof(num));
_gsskrb5_encode_om_uint32 (b->initiator_address.length, num);
MD5_Update (&md5, num, sizeof(num));
EVP_DigestUpdate(&ctx, num, sizeof(num));
if (b->initiator_address.length)
MD5_Update (&md5,
b->initiator_address.value,
b->initiator_address.length);
EVP_DigestUpdate(&ctx,
b->initiator_address.value,
b->initiator_address.length);
_gsskrb5_encode_om_uint32 (b->acceptor_addrtype, num);
MD5_Update (&md5, num, sizeof(num));
EVP_DigestUpdate(&ctx, num, sizeof(num));
_gsskrb5_encode_om_uint32 (b->acceptor_address.length, num);
MD5_Update (&md5, num, sizeof(num));
EVP_DigestUpdate(&ctx, num, sizeof(num));
if (b->acceptor_address.length)
MD5_Update (&md5,
b->acceptor_address.value,
b->acceptor_address.length);
EVP_DigestUpdate(&ctx,
b->acceptor_address.value,
b->acceptor_address.length);
_gsskrb5_encode_om_uint32 (b->application_data.length, num);
MD5_Update (&md5, num, sizeof(num));
EVP_DigestUpdate(&ctx, num, sizeof(num));
if (b->application_data.length)
MD5_Update (&md5,
b->application_data.value,
b->application_data.length);
MD5_Final (p, &md5);
EVP_DigestUpdate(&ctx,
b->application_data.value,
b->application_data.length);
EVP_DigestFinal_ex(&ctx, p, NULL);
EVP_MD_CTX_cleanup(&ctx);
return 0;
}