commit e6057ca

Michael Forney  ·  2025-04-06 20:22:36 +0000 UTC
parent fab1952
wpa_supplicant: Add hmac_sha256 wrapper in crypto_bearssl.c

This is needed for WPS support.

Also, make digest_vector static since it is a local function.
2 files changed,  +14, -8
+13, -7
 1@@ -1,19 +1,19 @@
 2-From e6ef6ceba52f7d80f82dd91e1c6a121e11caefa5 Mon Sep 17 00:00:00 2001
 3+From f20f3e1c7f498bbc2a83a749ed38a795d54a5c25 Mon Sep 17 00:00:00 2001
 4 From: Michael Forney <mforney@mforney.org>
 5 Date: Fri, 15 Nov 2019 20:19:37 -0800
 6 Subject: [PATCH] Add support for some BearSSL crypto primitives
 7 
 8 ---
 9- src/crypto/crypto_bearssl.c | 165 ++++++++++++++++++++++++++++++++++++
10- 1 file changed, 165 insertions(+)
11+ src/crypto/crypto_bearssl.c | 171 ++++++++++++++++++++++++++++++++++++
12+ 1 file changed, 171 insertions(+)
13  create mode 100644 src/crypto/crypto_bearssl.c
14 
15 diff --git a/src/crypto/crypto_bearssl.c b/src/crypto/crypto_bearssl.c
16 new file mode 100644
17-index 000000000..c207f22bc
18+index 000000000..4f1b64e24
19 --- /dev/null
20 +++ b/src/crypto/crypto_bearssl.c
21-@@ -0,0 +1,165 @@
22+@@ -0,0 +1,171 @@
23 +/*
24 + * Wrapper functions for BearSSL crypto
25 + * Copyright (c) 2019, Michael Forney <mforney@mforney.org>
26@@ -29,8 +29,8 @@ index 000000000..c207f22bc
27 +#include "md5.h"
28 +#include "crypto.h"
29 +
30-+int digest_vector(size_t num_elem, const u8 *addr[], const size_t *len, u8 *out,
31-+                  const br_hash_class *hash)
32++static int digest_vector(size_t num_elem, const u8 *addr[], const size_t *len,
33++			 u8 *out, const br_hash_class *hash)
34 +{
35 +	br_hash_compat_context ctx;
36 +	size_t i;
37@@ -76,6 +76,12 @@ index 000000000..c207f22bc
38 +	return hmac_vector(key, key_len, num_elem, addr, len, mac, &br_sha256_vtable);
39 +}
40 +
41++int hmac_sha256(const u8 *key, size_t key_len, const u8 *data,
42++		size_t data_len, u8 *mac)
43++{
44++	return hmac_sha256_vector(key, key_len, 1, &data, &data_len, mac);
45++}
46++
47 +int hmac_sha1_vector(const u8 *key, size_t key_len, size_t num_elem,
48 +                     const u8 *addr[], const size_t *len, u8 *mac)
49 +{
+1, -1
1@@ -1 +1 @@
2-2.11 r1
3+2.11 r2