xref: /netbsd-src/external/bsd/wpa/dist/src/eap_common/chap.c (revision e604d8611dacba7ab12396e19398c8a39b20a815)
18dbcf02cSchristos /*
28dbcf02cSchristos  * CHAP-MD5 (RFC 1994)
38dbcf02cSchristos  * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
48dbcf02cSchristos  *
5*e604d861Schristos  * This software may be distributed under the terms of the BSD license.
6*e604d861Schristos  * See README for more details.
78dbcf02cSchristos  */
88dbcf02cSchristos 
98dbcf02cSchristos #include "includes.h"
108dbcf02cSchristos 
118dbcf02cSchristos #include "common.h"
128dbcf02cSchristos #include "crypto/crypto.h"
138dbcf02cSchristos #include "chap.h"
148dbcf02cSchristos 
chap_md5(u8 id,const u8 * secret,size_t secret_len,const u8 * challenge,size_t challenge_len,u8 * response)158dbcf02cSchristos int chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
168dbcf02cSchristos 	      size_t challenge_len, u8 *response)
178dbcf02cSchristos {
188dbcf02cSchristos 	const u8 *addr[3];
198dbcf02cSchristos 	size_t len[3];
208dbcf02cSchristos 
218dbcf02cSchristos 	addr[0] = &id;
228dbcf02cSchristos 	len[0] = 1;
238dbcf02cSchristos 	addr[1] = secret;
248dbcf02cSchristos 	len[1] = secret_len;
258dbcf02cSchristos 	addr[2] = challenge;
268dbcf02cSchristos 	len[2] = challenge_len;
278dbcf02cSchristos 	return md5_vector(3, addr, len, response);
288dbcf02cSchristos }
29