Commit 7712ddf8 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

r16317@catbus: nickm | 2007-10-31 23:52:52 -0400

 Use HMAC() function from openssl. Oops.


svn:r12304
parent 1855856d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ const char crypto_c_id[] =
#include <openssl/bn.h>
#include <openssl/dh.h>
#include <openssl/conf.h>
#include <openssl/hmac.h>

#ifdef HAVE_CTYPE_H
#include <ctype.h>
@@ -1297,6 +1298,7 @@ crypto_digest_assign(crypto_digest_env_t *into,
  memcpy(into,from,sizeof(crypto_digest_env_t));
}

#if 0
/**DOCDOC */
#define DIGEST_BLOCKSIZE 64

@@ -1344,6 +1346,20 @@ crypto_hmac_sha1(char *hmac_out,
  SHA1_Update(&sha, D, sizeof(D));
  SHA1_Final((unsigned char*)hmac_out, &sha);
}
#endif

/** Compute the HMAC-SHA-1 of the <b>msg_len</b> bytes in <b>msg</b>, using
 * the <b>key</b> of length <b>key_len</b>.  Store the DIGEST_LEN-byte result
 * in <b>hmac_out</b>.
 */
void
crypto_hmac_sha1(char *hmac_out,
                 const char *key, size_t key_len,
                 const char *msg, size_t msg_len)
{
  HMAC(EVP_sha1(), key, key_len, (unsigned char*)msg, msg_len,
       (unsigned char*)hmac_out, NULL);
}

/* DH */