mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
7d92bb0509
Changes from 4.7.0: Fix one high (OCSP verification issue) and two low vulnerabilities Improve compatibility layer Other improvements and fixes For detailed changes refer to https://github.com/wolfSSL/wolfssl/releases Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
51 lines
1.2 KiB
Diff
51 lines
1.2 KiB
Diff
Since commit 6467de5a8840 ("Randomize z ordinates in scalar
|
|
mult when timing resistant") wolfssl requires a RNG for an EC
|
|
key when the hardened built option is selected.
|
|
|
|
wc_ecc_set_rng is only available when built hardened, so there
|
|
is no safe way to install the RNG to the key regardless whether
|
|
or not wolfssl is compiled hardened.
|
|
|
|
Always export wc_ecc_set_rng so tools such as hostapd can install
|
|
RNG regardless of the built settings for wolfssl.
|
|
|
|
--- a/wolfcrypt/src/ecc.c
|
|
+++ b/wolfcrypt/src/ecc.c
|
|
@@ -10938,21 +10938,21 @@ void wc_ecc_fp_free(void)
|
|
|
|
#endif /* FP_ECC */
|
|
|
|
-#ifdef ECC_TIMING_RESISTANT
|
|
int wc_ecc_set_rng(ecc_key* key, WC_RNG* rng)
|
|
{
|
|
int err = 0;
|
|
|
|
+#ifdef ECC_TIMING_RESISTANT
|
|
if (key == NULL) {
|
|
err = BAD_FUNC_ARG;
|
|
}
|
|
else {
|
|
key->rng = rng;
|
|
}
|
|
+#endif
|
|
|
|
return err;
|
|
}
|
|
-#endif
|
|
|
|
#ifdef HAVE_ECC_ENCRYPT
|
|
|
|
--- a/wolfssl/wolfcrypt/ecc.h
|
|
+++ b/wolfssl/wolfcrypt/ecc.h
|
|
@@ -616,10 +616,8 @@ WOLFSSL_API
|
|
void wc_ecc_fp_free(void);
|
|
WOLFSSL_LOCAL
|
|
void wc_ecc_fp_init(void);
|
|
-#ifdef ECC_TIMING_RESISTANT
|
|
WOLFSSL_API
|
|
int wc_ecc_set_rng(ecc_key* key, WC_RNG* rng);
|
|
-#endif
|
|
|
|
WOLFSSL_API
|
|
int wc_ecc_set_curve(ecc_key* key, int keysize, int curve_id);
|