Skip to content

Commit

Permalink
Add openconnect_md5() function for NTLMv2
Browse files Browse the repository at this point in the history
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
  • Loading branch information
David Woodhouse authored and David Woodhouse committed Jun 19, 2014
1 parent ba7a919 commit 17be959
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 0 deletions.
13 changes: 13 additions & 0 deletions gnutls.c
Expand Up @@ -2139,6 +2139,19 @@ int openconnect_sha1(unsigned char *result, void *data, int datalen)
return 0;
}

int openconnect_md5(unsigned char *result, void *data, int datalen)
{
gnutls_datum_t d;
size_t md5len = MD5_SIZE;

d.data = data;
d.size = datalen;
if (gnutls_fingerprint(GNUTLS_DIG_MD5, &d, result, &md5len))
return -1;

return 0;
}

int openconnect_random(void *bytes, int len)
{
if (gnutls_rnd(GNUTLS_RND_RANDOM, bytes, len))
Expand Down
1 change: 1 addition & 0 deletions openconnect-internal.h
Expand Up @@ -533,6 +533,7 @@ int cstp_handshake(struct openconnect_info *vpninfo, unsigned init);
int get_cert_md5_fingerprint(struct openconnect_info *vpninfo, OPENCONNECT_X509 *cert,
char *buf);
int openconnect_sha1(unsigned char *result, void *data, int len);
int openconnect_md5(unsigned char *result, void *data, int len);
int openconnect_random(void *bytes, int len);
int openconnect_local_cert_md5(struct openconnect_info *vpninfo,
char *buf);
Expand Down
11 changes: 11 additions & 0 deletions openssl.c
Expand Up @@ -44,6 +44,17 @@ int openconnect_sha1(unsigned char *result, void *data, int len)
return 0;
}

int openconnect_md5(unsigned char *result, void *data, int len)
{
EVP_MD_CTX c;

EVP_MD_CTX_init(&c);
EVP_Digest(data, len, result, NULL, EVP_md5(), NULL);
EVP_MD_CTX_cleanup(&c);

return 0;
}

int openconnect_get_cert_DER(struct openconnect_info *vpninfo,
OPENCONNECT_X509 *cert, unsigned char **buf)
{
Expand Down

0 comments on commit 17be959

Please sign in to comment.