mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-30 18:07:52 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 21ce83b4ae2b9563175fdb4fc4312096cc399cf8 Mon Sep 17 00:00:00 2001
 | |
| From: David Bauer <mail@david-bauer.net>
 | |
| Date: Wed, 5 May 2021 00:44:34 +0200
 | |
| Subject: [PATCH] wolfssl: add RNG to EC key
 | |
| 
 | |
| Since upstream commit 6467de5a8840 ("Randomize z ordinates in
 | |
| scalar mult when timing resistant") WolfSSL requires a RNG for
 | |
| the EC key when built hardened which is the default.
 | |
| 
 | |
| Set the RNG for the EC key to fix connections for OWE clients.
 | |
| 
 | |
| Signed-off-by: David Bauer <mail@david-bauer.net>
 | |
| ---
 | |
|  src/crypto/crypto_wolfssl.c | 4 ++++
 | |
|  1 file changed, 4 insertions(+)
 | |
| 
 | |
| --- a/src/crypto/crypto_wolfssl.c
 | |
| +++ b/src/crypto/crypto_wolfssl.c
 | |
| @@ -1303,6 +1303,7 @@ int ecc_projective_add_point(ecc_point *
 | |
|  
 | |
|  struct crypto_ec {
 | |
|  	ecc_key key;
 | |
| +	WC_RNG rng;
 | |
|  	mp_int a;
 | |
|  	mp_int prime;
 | |
|  	mp_int order;
 | |
| @@ -1357,6 +1358,8 @@ struct crypto_ec * crypto_ec_init(int gr
 | |
|  		return NULL;
 | |
|  
 | |
|  	if (wc_ecc_init(&e->key) != 0 ||
 | |
| +	    wc_InitRng(&e->rng) != 0 ||
 | |
| +	    wc_ecc_set_rng(&e->key, &e->rng) != 0 ||
 | |
|  	    wc_ecc_set_curve(&e->key, 0, curve_id) != 0 ||
 | |
|  	    mp_init(&e->a) != MP_OKAY ||
 | |
|  	    mp_init(&e->prime) != MP_OKAY ||
 | |
| @@ -1388,6 +1391,7 @@ void crypto_ec_deinit(struct crypto_ec*
 | |
|  	mp_clear(&e->order);
 | |
|  	mp_clear(&e->prime);
 | |
|  	mp_clear(&e->a);
 | |
| +	wc_FreeRng(&e->rng);
 | |
|  	wc_ecc_free(&e->key);
 | |
|  	os_free(e);
 | |
|  }
 | 
