xref: /freebsd/contrib/wpa/src/eap_common/chap.c (revision bb15ca603fa442c72dde3f3cb8b46db6970e3950)
1 /*
2  * CHAP-MD5 (RFC 1994)
3  * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #include "includes.h"
16 
17 #include "common.h"
18 #include "crypto/crypto.h"
19 #include "chap.h"
20 
21 int chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
22 	      size_t challenge_len, u8 *response)
23 {
24 	const u8 *addr[3];
25 	size_t len[3];
26 
27 	addr[0] = &id;
28 	len[0] = 1;
29 	addr[1] = secret;
30 	len[1] = secret_len;
31 	addr[2] = challenge;
32 	len[2] = challenge_len;
33 	return md5_vector(3, addr, len, response);
34 }
35