aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRich Cannings <richc@google.com>2018-10-09 13:56:37 -0700
committerKevin F. Haggerty <haggertk@lineageos.org>2019-02-05 19:15:58 -0700
commit6ce35f5a88692285e2e5f2fabf52b660958b5197 (patch)
tree7d709865105c0b9808ada32617e8ecc2013541ff
parent5becffe1551cc5ffeee98490ed5f94f1ac0e8fdb (diff)
downloadandroid_external_wpa_supplicant_8-6ce35f5a88692285e2e5f2fabf52b660958b5197.tar.gz
android_external_wpa_supplicant_8-6ce35f5a88692285e2e5f2fabf52b660958b5197.tar.bz2
android_external_wpa_supplicant_8-6ce35f5a88692285e2e5f2fabf52b660958b5197.zip
Use BoringSSL to get random bytes
Bug: 117508900 Change-Id: I4889513c0671ff2b689f1beca8084d6f149d473d Test: Existing tests pass (cherry picked from commit ac1636ce54fe6e50786c251fd33e39a46a2a9499)
-rw-r--r--src/crypto/random.c7
-rw-r--r--wpa_supplicant/Android.mk1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/crypto/random.c b/src/crypto/random.c
index 3a86a93a..5d671bdc 100644
--- a/src/crypto/random.c
+++ b/src/crypto/random.c
@@ -160,10 +160,17 @@ int random_get_bytes(void *buf, size_t len)
wpa_printf(MSG_MSGDUMP, "Get randomness: len=%u entropy=%u",
(unsigned int) len, entropy);
+#ifdef CONFIG_USE_OPENSSL_RNG
+ /* Start with assumed strong randomness from OpenSSL */
+ ret = crypto_get_random(buf, len);
+ wpa_hexdump_key(MSG_EXCESSIVE, "random from crypto_get_random",
+ buf, len);
+#else /* CONFIG_USE_OPENSSL_RNG */
/* Start with assumed strong randomness from OS */
ret = os_get_random(buf, len);
wpa_hexdump_key(MSG_EXCESSIVE, "random from os_get_random",
buf, len);
+#endif /* CONFIG_USE_OPENSSL_RNG */
/* Mix in additional entropy extracted from the internal pool */
left = len;
diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk
index 4ca42812..dbf493cc 100644
--- a/wpa_supplicant/Android.mk
+++ b/wpa_supplicant/Android.mk
@@ -969,6 +969,7 @@ endif
ifndef CONFIG_TLS
CONFIG_TLS=openssl
+L_CFLAGS += -DCONFIG_USE_OPENSSL_RNG
endif
ifdef CONFIG_TLSV11