esp_garden git · master
Distributed ESP sensor and actuator system (garden)
C++ 70.7% Markdown 18% C 10.7%git clone https://git.christianimmanuel.de/embedded/esp_garden.gitwget https://git.christianimmanuel.de/embedded/esp_garden/archive/esp_garden.tar.gzMove
wifi_hsnr/{wifi_test => }/CMakeLists.txt | 2 +-
wifi_hsnr/{wifi_test => }/main/CMakeLists.txt | 2 +-
.../main/wifi_test.c => main/wifi_hsnr.c} | 0
wifi_hsnr/{wifi_test => }/sdkconfig | 0
wifi_hsnr/{wifi_test => }/sdkconfig.old | 0
wifi_hsnr/wifi.ino | 100 ----------
wifi_hsnr/wifi_enterprise_example/CMakeLists.txt | 11 --
wifi_hsnr/wifi_enterprise_example/README.md | 218 ---------------------
.../generate_certs/generate_certs.py | 152 --------------
.../wifi_enterprise_example/main/CMakeLists.txt | 5 -
.../wifi_enterprise_example/main/Kconfig.projbuild | 117 -----------
wifi_hsnr/wifi_enterprise_example/main/ca.pem | 23 ---
wifi_hsnr/wifi_enterprise_example/main/client.crt | 82 --------
wifi_hsnr/wifi_enterprise_example/main/client.pem | 82 --------
wifi_hsnr/wifi_enterprise_example/main/server.crt | 82 --------
wifi_hsnr/wifi_enterprise_example/main/server.pem | 82 --------
.../main/wifi_enterprise_main.c | 198 -------------------
17 files changed, 2 insertions(+), 1154 deletions(-)
diff --git a/wifi_hsnr/wifi_test/CMakeLists.txt b/wifi_hsnr/CMakeLists.txt
similarity index 82%
rename from wifi_hsnr/wifi_test/CMakeLists.txt
rename to wifi_hsnr/CMakeLists.txt
index 1916059..cc026f5 100644
--- a/wifi_hsnr/wifi_test/CMakeLists.txt
+++ b/wifi_hsnr/CMakeLists.txt
@@ -1,3 +1,3 @@
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-project(wifi_test)
+project(wifi_hsnr)
diff --git a/wifi_hsnr/wifi_test/main/CMakeLists.txt b/wifi_hsnr/main/CMakeLists.txt
similarity index 68%
rename from wifi_hsnr/wifi_test/main/CMakeLists.txt
rename to wifi_hsnr/main/CMakeLists.txt
index c5cffdd..b85feaa 100644
--- a/wifi_hsnr/wifi_test/main/CMakeLists.txt
+++ b/wifi_hsnr/main/CMakeLists.txt
@@ -1,3 +1,3 @@
-idf_component_register(SRCS "wifi_test.c"
+idf_component_register(SRCS "wifi_hsnr.c"
INCLUDE_DIRS "."
EMBED_TXTFILES "hn1xCA.pem")
diff --git a/wifi_hsnr/wifi_test/main/wifi_test.c b/wifi_hsnr/main/wifi_hsnr.c
similarity index 100%
rename from wifi_hsnr/wifi_test/main/wifi_test.c
rename to wifi_hsnr/main/wifi_hsnr.c
diff --git a/wifi_hsnr/wifi_test/sdkconfig b/wifi_hsnr/sdkconfig
similarity index 100%
rename from wifi_hsnr/wifi_test/sdkconfig
rename to wifi_hsnr/sdkconfig
diff --git a/wifi_hsnr/wifi_test/sdkconfig.old b/wifi_hsnr/sdkconfig.old
similarity index 100%
rename from wifi_hsnr/wifi_test/sdkconfig.old
rename to wifi_hsnr/sdkconfig.old
diff --git a/wifi_hsnr/wifi.ino b/wifi_hsnr/wifi.ino
deleted file mode 100644
index 90b39c2..0000000
--- a/wifi_hsnr/wifi.ino
+++ /dev/null
@@ -1,100 +0,0 @@
-/*|----------------------------------------------------------|*/
-/*|Connection sketch to eduroam network (WPA/WPA2) Enteprise |*/
-/*|Suitable for almost any ESP32 microcontroller with WiFi |*/
-/*|Raspberry or Arduino WiFi CAN'T USE THIS LIBRARY!!! |*/
-/*|Edited by: Martin Chlebovec (martinius96) |*/
-/*|Compilation under 2.0.3 Arduino Core and higher worked |*/
-/*|Compilation can be done only using STABLE releases |*/
-/*|Dev releases WILL NOT WORK. (Check your Ard. Core .json) |*/
-/*|WiFi.begin() have more parameters for PEAP connection |*/
-/*|----------------------------------------------------------|*/
-
-//WITHOUT certificate option connection is WORKING (if there is exception set on RADIUS server that will let connect devices without certificate)
-//It is DEPRECATED function and standardly turned off, so it must be turned on by your eduroam management at university / organisation
-
-//Connection with certificate WASN'T CONFIRMED ever, so probably that option is NOT WORKING
-
-#include <WiFi.h> //Wifi library
-#include "esp_wpa2.h" //wpa2 library for connections to Enterprise networks
-
-//Identity for user with password related to his realm (organization)
-//Available option of anonymous identity for federation of RADIUS servers or 1st Domain RADIUS servers
-#define EAP_ANONYMOUS_IDENTITY "anonymous@tuke.sk" //anonymous@example.com, or you can use also nickname@example.com
-#define EAP_IDENTITY "username@tuke.sk" //nickname@example.com, at some organizations should work nickname only without realm, but it is not recommended
-#define EAP_PASSWORD "password" //password for eduroam account
-#define EAP_USERNAME "username.tuke.sk" // the Username is the same as the Identity in most eduroam networks.
-
-//SSID NAME
-const char* ssid = "eduroam"; // eduroam SSID
-
-//Intermediate CA cert (GEANT OV RSA CA 4) in .pem format
-//Used for WiFi connection as trusted CA that issued certificate for wifi.uvt.tuke.sk - Technical university in Košice (Slovakia)
-//THIS CERTIFICATE WILL NOT WORK FOR OTHER UNIVERSITIES AND ORGANISATIONS!
-/* const static char* test_root_ca PROGMEM = \
- "-----BEGIN CERTIFICATE-----\n" \
- "MIIG5TCCBM2gAwIBAgIRANpDvROb0li7TdYcrMTz2+AwDQYJKoZIhvcNAQEMBQAw\n" \
- "gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK\n" \
- "ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD\n" \
- "VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIw\n" \
- "MDIxODAwMDAwMFoXDTMzMDUwMTIzNTk1OVowRDELMAkGA1UEBhMCTkwxGTAXBgNV\n" \
- "BAoTEEdFQU5UIFZlcmVuaWdpbmcxGjAYBgNVBAMTEUdFQU5UIE9WIFJTQSBDQSA0\n" \
- "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApYhi1aEiPsg9ZKRMAw9Q\n" \
- "r8Mthsr6R20VSfFeh7TgwtLQi6RSRLOh4or4EMG/1th8lijv7xnBMVZkTysFiPmT\n" \
- "PiLOfvz+QwO1NwjvgY+Jrs7fSoVA/TQkXzcxu4Tl3WHi+qJmKLJVu/JOuHud6mOp\n" \
- "LWkIbhODSzOxANJ24IGPx9h4OXDyy6/342eE6UPXCtJ8AzeumTG6Dfv5KVx24lCF\n" \
- "TGUzHUB+j+g0lSKg/Sf1OzgCajJV9enmZ/84ydh48wPp6vbWf1H0O3Rd3LhpMSVn\n" \
- "TqFTLKZSbQeLcx/l9DOKZfBCC9ghWxsgTqW9gQ7v3T3aIfSaVC9rnwVxO0VjmDdP\n" \
- "FNbdoxnh0zYwf45nV1QQgpRwZJ93yWedhp4ch1a6Ajwqs+wv4mZzmBSjovtV0mKw\n" \
- "d+CQbSToalEUP4QeJq4Udz5WNmNMI4OYP6cgrnlJ50aa0DZPlJqrKQPGL69KQQz1\n" \
- "2WgxvhCuVU70y6ZWAPopBa1ykbsttpLxADZre5cH573lIuLHdjx7NjpYIXRx2+QJ\n" \
- "URnX2qx37eZIxYXz8ggM+wXH6RDbU3V2o5DP67hXPHSAbA+p0orjAocpk2osxHKo\n" \
- "NSE3LCjNx8WVdxnXvuQ28tKdaK69knfm3bB7xpdfsNNTPH9ElcjscWZxpeZ5Iij8\n" \
- "lyrCG1z0vSWtSBsgSnUyG/sCAwEAAaOCAYswggGHMB8GA1UdIwQYMBaAFFN5v1qq\n" \
- "K0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBRvHTVJEGwy+lmgnryK6B+VvnF6DDAO\n" \
- "BgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggr\n" \
- "BgEFBQcDAQYIKwYBBQUHAwIwOAYDVR0gBDEwLzAtBgRVHSAAMCUwIwYIKwYBBQUH\n" \
- "AgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFAGA1UdHwRJMEcwRaBDoEGGP2h0\n" \
- "dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9u\n" \
- "QXV0aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6\n" \
- "Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAl\n" \
- "BggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0B\n" \
- "AQwFAAOCAgEAUtlC3e0xj/1BMfPhdQhUXeLjb0xp8UE28kzWE5xDzGKbfGgnrT2R\n" \
- "lw5gLIx+/cNVrad//+MrpTppMlxq59AsXYZW3xRasrvkjGfNR3vt/1RAl8iI31lG\n" \
- "hIg6dfIX5N4esLkrQeN8HiyHKH6khm4966IkVVtnxz5CgUPqEYn4eQ+4eeESrWBh\n" \
- "AqXaiv7HRvpsdwLYekAhnrlGpioZ/CJIT2PTTxf+GHM6cuUnNqdUzfvrQgA8kt1/\n" \
- "ASXx2od/M+c8nlJqrGz29lrJveJOSEMX0c/ts02WhsfMhkYa6XujUZLmvR1Eq08r\n" \
- "48/EZ4l+t5L4wt0DV8VaPbsEBF1EOFpz/YS2H6mSwcFaNJbnYqqJHIvm3PLJHkFm\n" \
- "EoLXRVrQXdCT+3wgBfgU6heCV5CYBz/YkrdWES7tiiT8sVUDqXmVlTsbiRNiyLs2\n" \
- "bmEWWFUl76jViIJog5fongEqN3jLIGTG/mXrJT1UyymIcobnIGrbwwRVz/mpFQo0\n" \
- "vBYIi1k2ThVh0Dx88BbF9YiP84dd8Fkn5wbE6FxXYJ287qfRTgmhePecPc73Yrzt\n" \
- "apdRcsKVGkOpaTIJP/l+lAHRLZxk/dUtyN95G++bOSQqnOCpVPabUGl2E/OEyFrp\n" \
- "Ipwgu2L/WJclvd6g+ZA/iWkLSMcpnFb+uX6QBqvD6+RNxul1FaB5iHY=\n" \
- "-----END CERTIFICATE-----\n"; */
-
-void setup() {
- Serial.begin(115200);
- delay(10);
- Serial.print(F("Connecting to network: "));
- Serial.println(ssid);
- WiFi.disconnect(true); //disconnect from WiFi to set new WiFi connection
- //WiFi.begin(ssid, WPA2_AUTH_PEAP, EAP_ANONYMOUS_IDENTITY, EAP_IDENTITY, EAP_PASSWORD, test_root_ca); //with CERTIFICATE
- WiFi.begin(ssid, WPA2_AUTH_PEAP, EAP_IDENTITY, EAP_USERNAME, EAP_PASSWORD); // without CERTIFICATE, RADIUS server EXCEPTION "for old devices" required
-
- // Example: a cert-file WPA2 Enterprise with PEAP - client certificate and client key required
- //WiFi.begin(ssid, WPA2_AUTH_PEAP, EAP_IDENTITY, EAP_USERNAME, EAP_PASSWORD, test_root_ca, client_cert, client_key);
-
- // Example: TLS with cert-files and no password - client certificate and client key required
- //WiFi.begin(ssid, WPA2_AUTH_TLS, EAP_IDENTITY, NULL, NULL, test_root_ca, client_cert, client_key);
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(F("."));
- }
- Serial.println("");
- Serial.println(F("WiFi is connected!"));
- Serial.println(F("IP address set: "));
- Serial.println(WiFi.localIP()); //print LAN IP
-}
-
-void loop() {
- yield();
-}
diff --git a/wifi_hsnr/wifi_enterprise_example/CMakeLists.txt b/wifi_hsnr/wifi_enterprise_example/CMakeLists.txt
deleted file mode 100644
index c2b8163..0000000
--- a/wifi_hsnr/wifi_enterprise_example/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-
-# (Automatically converted from project Makefile by convert_to_cmake.py.)
-
-# The following lines of boilerplate have to be in your project's CMakeLists
-# in this exact order for cmake to work correctly
-cmake_minimum_required(VERSION 3.16)
-
-include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
-idf_build_set_property(MINIMAL_BUILD ON)
-project(wifi_enterprise)
diff --git a/wifi_hsnr/wifi_enterprise_example/README.md b/wifi_hsnr/wifi_enterprise_example/README.md
deleted file mode 100644
index c9b821f..0000000
--- a/wifi_hsnr/wifi_enterprise_example/README.md
+++ /dev/null
@@ -1,218 +0,0 @@
-| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 |
-| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- |
-
-
-# Understanding different WiFi enterprise modes:
-
-**WPA2 Enterprise**: WPA2-Enterprise is an advanced Wi-Fi security mode primarily used in business environments. It employs a RADIUS server for user-based authentication, supporting various EAP methods like EAP-TLS and EAP-PEAP. This mode enhances security by requiring individual user credentials, establishes secure encryption keys, and allows for efficient user management. It's a scalable and robust solution ideal for large-scale networks seeking strong protection against unauthorized access.
-
-**WPA3 Enterprise**: WPA2-Enterprise + PMF mandatory + CA certificate validaion(required)
-
-**WPA3 Enterprise(192 bit)**: WPA3 Enterprise + AES256 Keys(GCMP256/CCMP256) + BIP256 + RSA3096/EC certs + NSA SuiteB ciphers in EAP authentication.
-
-*Note:*
-Note that when using bigger certificates on low-power chips without crypto hardware acceleration, it is recommended to adjust the task watchdog timer (TWDT) if it is enabled. For precise information on timing requirements, you can check performance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.
-
-# WiFi Enterprise Example
-
-This example shows how ESP32 connects to AP with Wi-Fi enterprise encryption. The example does the following steps:
-
-1. Install CA certificate which is optional.
-2. Install client certificate and client key which is required in TLS method and optional in PEAP and TTLS methods.
-3. Set identity of phase 1 which is optional.
-4. Set user name and password of phase 2 which is required in PEAP and TTLS methods.
-5. Enable WiFi enterprise mode.
-6. Connect to AP using esp_wifi_connect().
-
-*Note:*
-1. The certificates currently are generated and are present in examples/wifi/wifi_enterprise/main folder.
-2. The expiration date of the certificates is 2027/06/05.
-3. In case using suite-b, please go into `generate_certs` directory, then execute the script as `python generate_certs.py <cert_type> sha384` to create appropriate certificates such as RSA-3072 or p384 EC certificates.
-
-The steps to create new certificates are given below.
-
-The file ca.pem, ca.key, server.pem, server.crt and server.key can be used to configure AP with enterprise encryption.
-
-## How to use Example
-
-### Configuration
-
-```
-idf.py menuconfig
-```
-* Set SSID of Access Point to connect in Example Configuration.
-* Select EAP method (TLS, TTLS or PEAP).
-* Select Phase2 method (only for TTLS).
-* Enter EAP-ID.
-* Enter Username and Password (only for TTLS and PEAP).
-* Enable or disable Validate Server option.
-
-### Build and Flash the project.
-
-```
-idf.py -p PORT flash monitor
-```
-
-## Steps to create enterprise openssl certs
-
-1. make directory tree
-```
- mkdir demoCA
- mkdir demoCA/newcerts
- mkdir demoCA/private
- sh -c "echo '01' > ./demoCA/serial"
- touch ./demoCA/index.txt
- touch xpextensions
-
- add following lines in xpextensions file
-
- [ xpclient_ext ]
- extendedKeyUsage = 1.3.6.1.5.5.7.3.2
-
- [ xpserver_ext ]
- extendedKeyUsage = 1.3.6.1.5.5.7.3.1
-```
-2. ca.pem: root certificate, foundation of certificate verigy
-```
- openssl req -new -x509 -keyout ca.key -out ca.pem
-```
-3. generate rsa keys for client and server
-```
- openssl genrsa -out client.key 2048
- openssl genrsa -out server.key 2048
-```
-4. generate certificate signing req for both client and server
-```
- openssl req -new -key client.key -out client.csr
- openssl req -new -key server.key -out server.csr
-```
-5. create certs (.crt) for client and server
-```
- openssl ca -batch -keyfile ca.key -cert ca.pem -in client.csr -key (password) -out client.crt -extensions xpclient_ext -extfile xpextensions
- openssl ca -batch -keyfile ca.key -cert ca.pem -in server.csr -key (password) -out server.crt -extensions xpserver_ext -extfile xpextensions
-```
-6. export .p12 files
-```
- openssl pkcs12 -export -out client.p12 -inkey client.key -in client.crt
- openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt
-```
-7. create .pem files
-```
- openssl pkcs12 -in client.p12 -out client.pem
- openssl pkcs12 -in server.p12 -out server.pem
-```
-
-
-### Example output
-
-I (31) boot: ESP-IDF v5.2-dev-2787-g40cf6433be-dirty 2nd stage bootloader
-I (31) boot: compile time Sep 12 2023 13:39:03
-I (33) boot: Multicore bootloader
-I (38) boot: chip revision: v3.0
-I (41) boot.esp32: SPI Speed : 40MHz
-I (46) boot.esp32: SPI Mode : DIO
-I (51) boot.esp32: SPI Flash Size : 2MB
-I (55) boot: Enabling RNG early entropy source...
-I (61) boot: Partition Table:
-I (64) boot: ## Label Usage Type ST Offset Length
-I (71) boot: 0 nvs WiFi data 01 02 00009000 00006000
-I (79) boot: 1 phy_init RF data 01 01 0000f000 00001000
-I (86) boot: 2 factory factory app 00 00 00010000 00100000
-I (94) boot: End of partition table
-I (98) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=2aa0ch (174604) map
-I (170) esp_image: segment 1: paddr=0003aa34 vaddr=3ffb0000 size=037a0h ( 14240) load
-I (175) esp_image: segment 2: paddr=0003e1dc vaddr=40080000 size=01e3ch ( 7740) load
-I (179) esp_image: segment 3: paddr=00040020 vaddr=400d0020 size=954c8h (611528) map
-I (405) esp_image: segment 4: paddr=000d54f0 vaddr=40081e3c size=13de0h ( 81376) load
-I (449) boot: Loaded app from partition at offset 0x10000
-I (450) boot: Disabling RNG early entropy source...
-I (461) cpu_start: Multicore app
-I (461) cpu_start: Pro cpu up.
-I (462) cpu_start: Starting app cpu, entry point is 0x400811e0
-I (0) cpu_start: App cpu up.
-I (479) cpu_start: Pro cpu start user code
-I (479) cpu_start: cpu freq: 160000000 Hz
-I (479) cpu_start: Application information:
-I (484) cpu_start: Project name: wifi_enterprise
-I (490) cpu_start: App version: c6_h2_rng_final_tests-2032-g40c
-I (497) cpu_start: Compile time: Sep 12 2023 13:38:55
-I (503) cpu_start: ELF file SHA256: 8d1ba00d3...
-I (508) cpu_start: ESP-IDF: v5.2-dev-2787-g40cf6433be-dirty
-I (515) cpu_start: Min chip rev: v0.0
-I (520) cpu_start: Max chip rev: v3.99
-I (525) cpu_start: Chip rev: v3.0
-I (530) heap_init: Initializing. RAM available for dynamic allocation:
-I (537) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
-I (543) heap_init: At 3FFB7A20 len 000285E0 (161 KiB): DRAM
-I (549) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
-I (555) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
-I (562) heap_init: At 40095C1C len 0000A3E4 (40 KiB): IRAM
-I (570) spi_flash: detected chip: generic
-I (573) spi_flash: flash io: dio
-W (577) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
-I (591) app_start: Starting scheduler on CPU0
-I (595) app_start: Starting scheduler on CPU1
-I (595) main_task: Started on CPU0
-I (605) main_task: Calling app_main()
-I (635) wifi:wifi driver task: 3ffbf930, prio:23, stack:6656, core=0
-I (635) wifi:wifi firmware version: e03c1ca
-I (635) wifi:wifi certification version: v7.0
-I (635) wifi:config NVS flash: enabled
-I (635) wifi:config nano formatting: disabled
-I (645) wifi:Init data frame dynamic rx buffer num: 32
-I (645) wifi:Init management frame dynamic rx buffer num: 32
-I (655) wifi:Init management short buffer num: 32
-I (655) wifi:Init dynamic tx buffer num: 32
-I (665) wifi:Init static rx buffer size: 1600
-I (665) wifi:Init static rx buffer num: 10
-I (665) wifi:Init dynamic rx buffer num: 32
-I (675) wifi_init: rx ba win: 6
-I (675) wifi_init: tcpip mbox: 32
-I (675) wifi_init: udp mbox: 6
-I (685) wifi_init: tcp mbox: 6
-I (685) wifi_init: tcp tx win: 5744
-I (695) wifi_init: tcp rx win: 5744
-I (695) wifi_init: tcp mss: 1440
-I (695) wifi_init: WiFi IRAM OP enabled
-I (705) wifi_init: WiFi RX IRAM OP enabled
-I (705) example: Setting WiFi configuration SSID ESP_ENTERPRISE_AP...
-I (715) wpa: WiFi Enterprise enable
-I (725) phy_init: phy_version 4771,450c73b,Aug 16 2023,11:03:10
-I (835) wifi:mode : sta (e0:e2:e6:6a:7c:20)
-I (845) wifi:enable tsf
-I (845) main_task: Returned from app_main()
-I (1465) wpa: BSS: Add new id 0 BSSID 38:94:ed:34:07:66 SSID 'ESP_ENTERPRISE_AP' chan 6
-I (1465) wifi:new:<6,0>, old:<1,0>, ap:<255,255>, sta:<6,0>, prof:1
-I (7385) wifi:state: init -> auth (b0)
-I (7395) wifi:state: auth -> assoc (0)
-I (7405) wifi:state: assoc -> run (10)
-I (7405) wpa: wifi_task prio:7, stack:6656
-I (7495) wpa: len=5 not available in input
-I (7555) wpa: SSL: Need 1595 bytes more input data
-I (7605) wpa: SSL: Need 601 bytes more input data
-I (8575) wpa: len=5 not available in input
-I (8695) wpa: application data is null, adding one byte for ack
-I (8725) wpa: >>>>>EAP FINISH
-I (8785) wifi:connected with ESP_ENTERPRISE_AP, aid = 1, channel 6, BW20, bssid = 38:94:ed:34:07:66
-I (8785) wifi:security: WPA2-ENT, phy: bgn, rssi: -22
-I (8785) wifi:pm start, type: 1
-
-I (8795) wifi:AP's beacon interval = 102400 us, DTIM period = 3
-
-I (5372) example: ~~~~~~~~~~~
-I (5372) example: IP:0.0.0.0
-I (5372) example: MASK:0.0.0.0
-I (5372) example: GW:0.0.0.0
-I (5372) example: ~~~~~~~~~~~
-I (6832) event: ip: 192.168.1.112, mask: 255.255.255.0, gw: 192.168.1.1
-I (7372) example: ~~~~~~~~~~~
-I (7372) example: IP:192.168.1.112
-I (7372) example: MASK:255.255.255.0
-I (7372) example: GW:192.168.1.1
-I (7372) example: ~~~~~~~~~~~
-I (9372) example: ~~~~~~~~~~~
-I (9372) example: IP:192.168.1.112
-I (9372) example: MASK:255.255.255.0
-I (9372) example: GW:192.168.1.1
-I (9372) example: ~~~~~~~~~~~
-```
diff --git a/wifi_hsnr/wifi_enterprise_example/generate_certs/generate_certs.py b/wifi_hsnr/wifi_enterprise_example/generate_certs/generate_certs.py
deleted file mode 100644
index 78ea617..0000000
--- a/wifi_hsnr/wifi_enterprise_example/generate_certs/generate_certs.py
+++ /dev/null
@@ -1,152 +0,0 @@
-# SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
-# SPDX-License-Identifier: Unlicense OR CC0-1.0
-
-import argparse
-import datetime
-import os
-
-from cryptography import x509
-from cryptography.hazmat.backends import default_backend
-from cryptography.hazmat.primitives import hashes, serialization
-from cryptography.hazmat.primitives.asymmetric import ec, rsa
-from cryptography.hazmat.primitives.serialization import Encoding, NoEncryption, PrivateFormat
-from cryptography.x509.oid import ExtendedKeyUsageOID
-
-CERT_KEYS = ['2048', '4096', '3072', 'p384']
-CERT_EXPIRY_DAYS = 3650
-
-
-class GenCerts:
- def __init__(self, cert_type: str, message_digest: str, file_path: str) -> None:
- self.cert_type = cert_type
- self.message_digest = message_digest
- self.file_path = file_path
- self.digest = hashes.SHA256()
- self.init_param()
-
- def init_param(self) -> None:
-
- if self.message_digest == 'sha256':
- self.digest = hashes.SHA256()
- else:
- self.digest = hashes.SHA384()
-
- def generate_ca_certificate(self) -> None:
-
- if self.cert_type == 'p384':
- private_key = ec.generate_private_key(
- ec.SECP384R1(),
- default_backend()
- )
- else:
- private_key = rsa.generate_private_key(
- public_exponent=65537,
- key_size=int(self.cert_type)
- )
-
- public_key = private_key.public_key()
- subject = issuer = x509.Name([
- x509.NameAttribute(x509.NameOID.COMMON_NAME, 'example root CA')
- ])
-
- ca_crt_builder = (
- x509.CertificateBuilder()
- .subject_name(subject)
- .issuer_name(issuer).public_key(public_key)
- .serial_number(x509.random_serial_number())
- .not_valid_before(datetime.datetime.utcnow())
- .not_valid_after(datetime.datetime.utcnow() + datetime.timedelta(days=CERT_EXPIRY_DAYS))
- .add_extension(x509.BasicConstraints(ca=True, path_length=None), critical=True)
- .add_extension(x509.SubjectKeyIdentifier.from_public_key(public_key), critical=False)
- )
-
- self.certificate = ca_crt_builder.sign(private_key, self.digest)
-
- self.ca_pem = os.path.join(self.file_path, 'ca.pem')
- self.ca_key = os.path.join(self.file_path, 'ca.key')
- with open(self.ca_pem, 'wb') as f:
- f.write(self.certificate.public_bytes(Encoding.PEM))
- with open(self.ca_key, 'wb') as f:
- f.write(private_key.private_bytes(
- encoding=Encoding.PEM,
- format=PrivateFormat.TraditionalOpenSSL,
- encryption_algorithm=NoEncryption()
- ))
-
- def generate_user_certificate(self, role: str) -> None:
-
- if role == 'server':
- key_usage = [ExtendedKeyUsageOID.SERVER_AUTH]
- elif role == 'client':
- key_usage = [ExtendedKeyUsageOID.CLIENT_AUTH]
-
- with open(self.ca_key, 'rb') as f:
- ca_key = serialization.load_pem_private_key(f.read(), password=None)
- with open(self.ca_pem, 'rb') as f:
- ca_cert = x509.load_pem_x509_certificate(f.read())
-
- if self.cert_type == 'p384':
- user_private_key = ec.generate_private_key(
- ec.SECP384R1(),
- default_backend()
- )
- else:
- user_private_key = rsa.generate_private_key(
- public_exponent=65537,
- key_size=int(self.cert_type)
- )
-
- user_key = os.path.join(self.file_path, f'{role}.key')
- with open(user_key, 'wb') as f:
- f.write(user_private_key.private_bytes(
- encoding=Encoding.PEM,
- format=PrivateFormat.TraditionalOpenSSL,
- encryption_algorithm=NoEncryption()
- ))
-
- subject = x509.Name([
- x509.NameAttribute(x509.NameOID.COMMON_NAME, role)
- ])
-
- user_csr = x509.CertificateSigningRequestBuilder().subject_name(
- subject
- ).sign(user_private_key, self.digest)
-
- user_crt_builder = (
- x509.CertificateBuilder()
- .subject_name(user_csr.subject)
- .issuer_name(ca_cert.subject)
- .public_key(user_csr.public_key())
- .serial_number(x509.random_serial_number())
- .not_valid_before(datetime.datetime.utcnow())
- .not_valid_after(datetime.datetime.utcnow() + datetime.timedelta(days=CERT_EXPIRY_DAYS))
- .add_extension(x509.BasicConstraints(ca=False, path_length=None), critical=False)
- .add_extension(x509.ExtendedKeyUsage(key_usage), critical=False)
- .add_extension(x509.SubjectKeyIdentifier.from_public_key(user_csr.public_key()), critical=False)
- )
- user_crt = user_crt_builder.sign(ca_key, self.digest)
-
- user_pem = os.path.join(self.file_path, f'{role}.pem')
- user_cert = os.path.join(self.file_path, f'{role}.crt')
- with open(user_pem, 'wb') as f:
- f.write(user_crt.public_bytes(Encoding.PEM))
- with open(user_cert, 'wb') as f:
- f.write(user_crt.public_bytes(Encoding.PEM))
-
-
-def main() -> None:
-
- parser = argparse.ArgumentParser()
- parser.add_argument('cert_type', choices=['2048', '3072', '4096', 'p384'], help='select cert type')
- parser.add_argument('message_digest', choices=['sha256', 'sha384'], help='select message digest, suiteB should be sha384')
- file_path = os.path.dirname(__file__)
- parser.add_argument('--output', '-o', default=file_path, help='path to store certificates')
- args = parser.parse_args()
- gencerts = GenCerts(args.cert_type, args.message_digest, args.output)
- gencerts.generate_ca_certificate()
- gencerts.generate_user_certificate('server')
- gencerts.generate_user_certificate('client')
-
-
-if __name__ == '__main__':
- main()
diff --git a/wifi_hsnr/wifi_enterprise_example/main/CMakeLists.txt b/wifi_hsnr/wifi_enterprise_example/main/CMakeLists.txt
deleted file mode 100644
index b7685d8..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-# Embed CA, certificate & key directly into binary
-idf_component_register(SRCS "wifi_enterprise_main.c"
- INCLUDE_DIRS "."
- PRIV_REQUIRES esp_wifi wpa_supplicant nvs_flash
- EMBED_TXTFILES ca.pem client.crt client.key)
diff --git a/wifi_hsnr/wifi_enterprise_example/main/Kconfig.projbuild b/wifi_hsnr/wifi_enterprise_example/main/Kconfig.projbuild
deleted file mode 100644
index 0e5e606..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/Kconfig.projbuild
+++ /dev/null
@@ -1,117 +0,0 @@
-menu "Example Configuration"
-
- config EXAMPLE_WIFI_SSID
- string "WiFi SSID"
- default "ESP_ENTERPRISE_AP"
- help
- SSID (network name) for the example to connect to.
-
- choice
- prompt "Enterprise configuration to be used"
- default EXAMPLE_WPA3_ENTERPRISE
- config EXAMPLE_WPA2_ENTERPRISE
- bool "WPA2_ENT"
- config EXAMPLE_WPA3_ENTERPRISE
- bool "WPA3_ENT"
- config EXAMPLE_WPA3_192BIT_ENTERPRISE
- bool "WPA3_192BIT_ENT"
- depends on SOC_WIFI_GCMP_SUPPORT
- select ESP_WIFI_GCMP_SUPPORT
- select ESP_WIFI_GMAC_SUPPORT
- select ESP_WIFI_SUITE_B_192
- endchoice
-
- if EXAMPLE_WPA2_ENTERPRISE
- config EXAMPLE_VALIDATE_SERVER_CERT
- bool "Validate server"
- default y
- help
- Validate the servers' certificate using CA cert.
- endif
-
- if !EXAMPLE_WPA2_ENTERPRISE
- config EXAMPLE_VALIDATE_SERVER_CERT
- bool
- default y
- endif
-
- choice
- prompt "EAP method for the example to use"
- default EXAMPLE_EAP_METHOD_TLS
- config EXAMPLE_EAP_METHOD_TLS
- bool "TLS"
- config EXAMPLE_EAP_METHOD_PEAP
- bool "PEAP"
- config EXAMPLE_EAP_METHOD_TTLS
- bool "TTLS"
- endchoice
-
- config EXAMPLE_EAP_METHOD
- int
- default 0 if EXAMPLE_EAP_METHOD_TLS
- default 1 if EXAMPLE_EAP_METHOD_PEAP
- default 2 if EXAMPLE_EAP_METHOD_TTLS
-
- choice
- prompt "Phase2 method for TTLS"
- depends on EXAMPLE_EAP_METHOD_TTLS
- default EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
- config EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
- bool "MSCHAPV2"
- config EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAP
- bool "MSCHAP"
- config EXAMPLE_EAP_METHOD_TTLS_PHASE2_PAP
- bool "PAP"
- config EXAMPLE_EAP_METHOD_TTLS_PHASE2_CHAP
- bool "CHAP"
- endchoice
-
- config EXAMPLE_EAP_METHOD_TTLS_PHASE_2
- int
- default 1 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAPV2
- default 2 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_MSCHAP
- default 3 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_PAP
- default 4 if EXAMPLE_EAP_METHOD_TTLS_PHASE2_CHAP
-
- config EXAMPLE_EAP_ID
- string "EAP ID"
- default "example@espressif.com"
- help
- Identity in phase 1 of EAP procedure.
-
- config EXAMPLE_EAP_USERNAME
- string "EAP USERNAME"
- depends on EXAMPLE_EAP_METHOD_PEAP || EXAMPLE_EAP_METHOD_TTLS
- default "espressif"
- help
- Username for EAP method (valid for PEAP and TTLS).
-
- config EXAMPLE_EAP_PASSWORD
- string "EAP PASSWORD"
- depends on EXAMPLE_EAP_METHOD_PEAP || EXAMPLE_EAP_METHOD_TTLS
- default "test11"
- help
- Password for EAP method (valid for PEAP and TTLS).
-
- config EXAMPLE_USE_DEFAULT_CERT_BUNDLE
- bool "Use default cert bundle"
- depends on EXAMPLE_VALIDATE_SERVER_CERT
- default n
- help
- Use default CA certificate bundle for WiFi enterprise connection
-
- config EXAMPLE_VALIDATE_SERVER_CERT_DOMAIN
- bool "Enable server certificate domain validation"
- depends on EXAMPLE_VALIDATE_SERVER_CERT
- default n
- help
- Enable validation of the server certificate's domain name.
-
- config EXAMPLE_SERVER_CERT_DOMAIN
- string "Expected server certificate domain"
- depends on EXAMPLE_VALIDATE_SERVER_CERT_DOMAIN
- default "espressif.com"
- help
- Specify the expected domain name for the server certificate.
- The connection will be accepted only if the server certificate matches this domain.
-endmenu
diff --git a/wifi_hsnr/wifi_enterprise_example/main/ca.pem b/wifi_hsnr/wifi_enterprise_example/main/ca.pem
deleted file mode 100644
index 83ef22e..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/ca.pem
+++ /dev/null
@@ -1,23 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDzTCCArWgAwIBAgIUM6PdWvmY6SZ5uCkVm+5/cjojHSYwDQYJKoZIhvcNAQEL
-BQAwdjELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAk1IMQ0wCwYDVQQHDARDSVRZMQww
-CgYDVQQKDANPUkcxDTALBgNVBAsMBFVOSVQxCzAJBgNVBAMMAkNBMSEwHwYJKoZI
-hvcNAQkBFhJjYWNlcnRAZXhhbXBsZS5jb20wHhcNMjIwNjE1MDUzOTIxWhcNMzIw
-NjEyMDUzOTIxWjB2MQswCQYDVQQGEwJJTjELMAkGA1UECAwCTUgxDTALBgNVBAcM
-BENJVFkxDDAKBgNVBAoMA09SRzENMAsGA1UECwwEVU5JVDELMAkGA1UEAwwCQ0Ex
-ITAfBgkqhkiG9w0BCQEWEmNhY2VydEBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAMNZRWSX041X5OuorNKD9gPIcCnDZVHE4dZZnAH/
-ZzXzVmAQDdq8vdg1oOMUi9TiqDD+bcIClaD93rt0FW6YVnGLgwo6lezyhfcrSReJ
-SOtneWMXTl9EOKma9ThYDePL2SItBxIC7rVz5LJ6nxu8crW2XFehUrvGir7bJaCv
-XHYwB82CuXM87U2y6Pa4r79KlxsAe615rx8h4lcj1tdqgs1v+waJZDBvxeOcz7Ay
-GxbYyhStessRzxYpTRWRekpK8YDczQicHPStI6ndcL5RG6q0qHI9b2DZKXQYIO6U
-cHAsw+GJf7FIP1XGx34qROpVNYsqiy165xEdV9ZR8CeKklcCAwEAAaNTMFEwHQYD
-VR0OBBYEFHuQR71f6KU4KtvFf+DQthclsRtsMB8GA1UdIwQYMBaAFHuQR71f6KU4
-KtvFf+DQthclsRtsMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB
-AEDEb1Cf94fU5ndFxOsQcDRLCCFpUFPjdRjxlcbI5bJWgVqoCqcMQoE/UcrlSVez
-Mdn4pXbN4jsbsLLR4Zbpx0LVjuCvC5iNpQSgreqkb7g5/NEIGt3HocYLUX2VRIGE
-KpxDFsUFTKNVetVXiPnqlJEFpVhvhKmIVKlakL+iHNUaB89LXvHVKI1/wBcmJ1/a
-TPMR7jdnzfK8SqiYjKajj5BJAbbsQ8q0dXATEcrm9FA3Jr4+11/uYoxxbxTwX+eK
-vveMohWRY0TUoh0N89AKXb/msTy5aiDJG6YbrGtnn+ydLURCT9On5jFABUC50cDD
-9l1muXNGsn7fHKbbuPyEgAA=
------END CERTIFICATE-----
diff --git a/wifi_hsnr/wifi_enterprise_example/main/client.crt b/wifi_hsnr/wifi_enterprise_example/main/client.crt
deleted file mode 100644
index d3d60ff..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/client.crt
+++ /dev/null
@@ -1,82 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=CA/emailAddress=cacert@example.com
- Validity
- Not Before: Jun 15 05:46:54 2022 GMT
- Not After : Jun 12 05:46:54 2032 GMT
- Subject: C=IN, ST=MH, L=CITY, O=ORG1, OU=UNIT1, CN=CLIENT/emailAddress=client@example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
- Modulus:
- 00:d2:d2:09:ae:fc:c3:22:d6:65:cb:7c:dd:92:d2:
- f4:2d:04:da:6d:08:b4:d9:1c:04:09:7a:f4:72:c2:
- b0:a9:af:53:d8:8c:38:9c:09:e9:7c:cb:27:1d:7e:
- d8:56:95:30:28:27:cf:ab:df:43:ce:28:b0:68:79:
- 93:b5:e8:ad:37:dc:bc:3e:62:e0:dd:42:e1:c9:1f:
- ba:44:b7:d8:06:6d:0c:86:02:2e:24:13:ae:54:71:
- fc:70:15:7e:49:cd:f6:9c:fc:cf:f9:7f:df:a8:56:
- 89:92:21:9c:cb:56:68:d0:2f:65:42:5c:48:a2:f1:
- 9e:94:f6:f4:5a:2c:91:ad:84:42:9a:9f:a4:7b:8f:
- 46:74:b5:92:e0:e7:c0:fe:04:53:95:02:b0:21:c3:
- ed:ac:0e:15:4f:c7:f3:a3:f9:9a:ea:3d:f9:66:a2:
- 1b:61:fe:8c:94:99:8e:79:01:a7:ab:21:90:7e:30:
- 61:ef:d3:b8:be:b0:14:38:ed:d9:53:eb:f7:d4:00:
- f0:a1:4c:31:b7:69:02:a2:df:a2:c2:6e:f9:6c:19:
- 1c:1f:ba:c7:1e:84:c7:3d:ea:c6:ba:d3:c9:fd:9a:
- a0:f6:26:50:b7:09:9b:de:e0:7a:17:61:a4:99:f8:
- ad:30:35:87:24:21:f1:5b:2d:bd:03:86:81:5d:ed:
- f7:69
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 15:55:BB:D8:0B:BF:93:51:14:91:AC:06:38:AC:17:39:54:44:64:FD
- X509v3 Authority Key Identifier:
- keyid:7B:90:47:BD:5F:E8:A5:38:2A:DB:C5:7F:E0:D0:B6:17:25:B1:1B:6C
-
- Signature Algorithm: sha256WithRSAEncryption
- a4:46:c2:13:21:c7:10:39:b7:c3:95:f3:81:e3:e9:2e:7c:5d:
- bf:19:d2:ed:c1:7d:ce:11:14:c4:7d:38:72:55:ba:2a:c4:24:
- f5:1e:1a:6a:0b:37:57:d6:22:cd:31:5b:33:1d:7e:27:b6:b3:
- d9:c0:b5:30:4b:18:0e:89:d5:df:cf:e1:5c:2f:23:f0:1d:0a:
- 1b:3e:88:03:e3:0a:fc:c2:f4:f8:3a:a6:17:42:ea:59:6b:77:
- dc:2a:64:c0:07:0f:94:61:4c:59:84:34:75:8e:2b:97:63:ab:
- 11:b6:16:6e:83:fd:e7:ea:80:bd:23:58:b0:10:7f:d1:5d:f3:
- af:f2:3d:60:14:6d:d0:51:8c:70:2d:5a:cf:75:f0:82:81:64:
- 32:75:c7:b6:3d:ec:82:82:dd:73:1b:8a:a2:fc:a7:89:69:5b:
- bc:71:94:2b:5c:95:b3:c4:3e:e0:e3:b4:9e:67:8f:9f:b9:d1:
- dd:68:32:c1:33:2b:9b:e9:95:a7:54:6f:96:f3:f1:e2:b7:6a:
- 01:d9:48:44:d5:1c:3d:40:f1:98:41:1d:88:8e:96:c9:81:c6:
- 16:96:51:8a:3e:dc:59:ea:a0:9b:91:0a:d2:b2:e9:45:fb:7c:
- 81:ae:9a:82:86:20:d9:9f:af:94:a9:97:c3:25:1d:2e:63:cf:
- 10:53:7c:fb
------BEGIN CERTIFICATE-----
-MIID6DCCAtCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJJTjEL
-MAkGA1UECAwCTUgxDTALBgNVBAcMBENJVFkxDDAKBgNVBAoMA09SRzENMAsGA1UE
-CwwEVU5JVDELMAkGA1UEAwwCQ0ExITAfBgkqhkiG9w0BCQEWEmNhY2VydEBleGFt
-cGxlLmNvbTAeFw0yMjA2MTUwNTQ2NTRaFw0zMjA2MTIwNTQ2NTRaMHwxCzAJBgNV
-BAYTAklOMQswCQYDVQQIDAJNSDENMAsGA1UEBwwEQ0lUWTENMAsGA1UECgwET1JH
-MTEOMAwGA1UECwwFVU5JVDExDzANBgNVBAMMBkNMSUVOVDEhMB8GCSqGSIb3DQEJ
-ARYSY2xpZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEA0tIJrvzDItZly3zdktL0LQTabQi02RwECXr0csKwqa9T2Iw4nAnpfMsn
-HX7YVpUwKCfPq99DziiwaHmTteitN9y8PmLg3ULhyR+6RLfYBm0MhgIuJBOuVHH8
-cBV+Sc32nPzP+X/fqFaJkiGcy1Zo0C9lQlxIovGelPb0WiyRrYRCmp+ke49GdLWS
-4OfA/gRTlQKwIcPtrA4VT8fzo/ma6j35ZqIbYf6MlJmOeQGnqyGQfjBh79O4vrAU
-OO3ZU+v31ADwoUwxt2kCot+iwm75bBkcH7rHHoTHPerGutPJ/Zqg9iZQtwmb3uB6
-F2GkmfitMDWHJCHxWy29A4aBXe33aQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG
-SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
-FgQUFVW72Au/k1EUkawGOKwXOVREZP0wHwYDVR0jBBgwFoAUe5BHvV/opTgq28V/
-4NC2FyWxG2wwDQYJKoZIhvcNAQELBQADggEBAKRGwhMhxxA5t8OV84Hj6S58Xb8Z
-0u3Bfc4RFMR9OHJVuirEJPUeGmoLN1fWIs0xWzMdfie2s9nAtTBLGA6J1d/P4Vwv
-I/AdChs+iAPjCvzC9Pg6phdC6llrd9wqZMAHD5RhTFmENHWOK5djqxG2Fm6D/efq
-gL0jWLAQf9Fd86/yPWAUbdBRjHAtWs918IKBZDJ1x7Y97IKC3XMbiqL8p4lpW7xx
-lCtclbPEPuDjtJ5nj5+50d1oMsEzK5vpladUb5bz8eK3agHZSETVHD1A8ZhBHYiO
-lsmBxhaWUYo+3FnqoJuRCtKy6UX7fIGumoKGINmfr5Spl8MlHS5jzxBTfPs=
------END CERTIFICATE-----
diff --git a/wifi_hsnr/wifi_enterprise_example/main/client.pem b/wifi_hsnr/wifi_enterprise_example/main/client.pem
deleted file mode 100644
index d3d60ff..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/client.pem
+++ /dev/null
@@ -1,82 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=CA/emailAddress=cacert@example.com
- Validity
- Not Before: Jun 15 05:46:54 2022 GMT
- Not After : Jun 12 05:46:54 2032 GMT
- Subject: C=IN, ST=MH, L=CITY, O=ORG1, OU=UNIT1, CN=CLIENT/emailAddress=client@example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
- Modulus:
- 00:d2:d2:09:ae:fc:c3:22:d6:65:cb:7c:dd:92:d2:
- f4:2d:04:da:6d:08:b4:d9:1c:04:09:7a:f4:72:c2:
- b0:a9:af:53:d8:8c:38:9c:09:e9:7c:cb:27:1d:7e:
- d8:56:95:30:28:27:cf:ab:df:43:ce:28:b0:68:79:
- 93:b5:e8:ad:37:dc:bc:3e:62:e0:dd:42:e1:c9:1f:
- ba:44:b7:d8:06:6d:0c:86:02:2e:24:13:ae:54:71:
- fc:70:15:7e:49:cd:f6:9c:fc:cf:f9:7f:df:a8:56:
- 89:92:21:9c:cb:56:68:d0:2f:65:42:5c:48:a2:f1:
- 9e:94:f6:f4:5a:2c:91:ad:84:42:9a:9f:a4:7b:8f:
- 46:74:b5:92:e0:e7:c0:fe:04:53:95:02:b0:21:c3:
- ed:ac:0e:15:4f:c7:f3:a3:f9:9a:ea:3d:f9:66:a2:
- 1b:61:fe:8c:94:99:8e:79:01:a7:ab:21:90:7e:30:
- 61:ef:d3:b8:be:b0:14:38:ed:d9:53:eb:f7:d4:00:
- f0:a1:4c:31:b7:69:02:a2:df:a2:c2:6e:f9:6c:19:
- 1c:1f:ba:c7:1e:84:c7:3d:ea:c6:ba:d3:c9:fd:9a:
- a0:f6:26:50:b7:09:9b:de:e0:7a:17:61:a4:99:f8:
- ad:30:35:87:24:21:f1:5b:2d:bd:03:86:81:5d:ed:
- f7:69
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 15:55:BB:D8:0B:BF:93:51:14:91:AC:06:38:AC:17:39:54:44:64:FD
- X509v3 Authority Key Identifier:
- keyid:7B:90:47:BD:5F:E8:A5:38:2A:DB:C5:7F:E0:D0:B6:17:25:B1:1B:6C
-
- Signature Algorithm: sha256WithRSAEncryption
- a4:46:c2:13:21:c7:10:39:b7:c3:95:f3:81:e3:e9:2e:7c:5d:
- bf:19:d2:ed:c1:7d:ce:11:14:c4:7d:38:72:55:ba:2a:c4:24:
- f5:1e:1a:6a:0b:37:57:d6:22:cd:31:5b:33:1d:7e:27:b6:b3:
- d9:c0:b5:30:4b:18:0e:89:d5:df:cf:e1:5c:2f:23:f0:1d:0a:
- 1b:3e:88:03:e3:0a:fc:c2:f4:f8:3a:a6:17:42:ea:59:6b:77:
- dc:2a:64:c0:07:0f:94:61:4c:59:84:34:75:8e:2b:97:63:ab:
- 11:b6:16:6e:83:fd:e7:ea:80:bd:23:58:b0:10:7f:d1:5d:f3:
- af:f2:3d:60:14:6d:d0:51:8c:70:2d:5a:cf:75:f0:82:81:64:
- 32:75:c7:b6:3d:ec:82:82:dd:73:1b:8a:a2:fc:a7:89:69:5b:
- bc:71:94:2b:5c:95:b3:c4:3e:e0:e3:b4:9e:67:8f:9f:b9:d1:
- dd:68:32:c1:33:2b:9b:e9:95:a7:54:6f:96:f3:f1:e2:b7:6a:
- 01:d9:48:44:d5:1c:3d:40:f1:98:41:1d:88:8e:96:c9:81:c6:
- 16:96:51:8a:3e:dc:59:ea:a0:9b:91:0a:d2:b2:e9:45:fb:7c:
- 81:ae:9a:82:86:20:d9:9f:af:94:a9:97:c3:25:1d:2e:63:cf:
- 10:53:7c:fb
------BEGIN CERTIFICATE-----
-MIID6DCCAtCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJJTjEL
-MAkGA1UECAwCTUgxDTALBgNVBAcMBENJVFkxDDAKBgNVBAoMA09SRzENMAsGA1UE
-CwwEVU5JVDELMAkGA1UEAwwCQ0ExITAfBgkqhkiG9w0BCQEWEmNhY2VydEBleGFt
-cGxlLmNvbTAeFw0yMjA2MTUwNTQ2NTRaFw0zMjA2MTIwNTQ2NTRaMHwxCzAJBgNV
-BAYTAklOMQswCQYDVQQIDAJNSDENMAsGA1UEBwwEQ0lUWTENMAsGA1UECgwET1JH
-MTEOMAwGA1UECwwFVU5JVDExDzANBgNVBAMMBkNMSUVOVDEhMB8GCSqGSIb3DQEJ
-ARYSY2xpZW50QGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
-CgKCAQEA0tIJrvzDItZly3zdktL0LQTabQi02RwECXr0csKwqa9T2Iw4nAnpfMsn
-HX7YVpUwKCfPq99DziiwaHmTteitN9y8PmLg3ULhyR+6RLfYBm0MhgIuJBOuVHH8
-cBV+Sc32nPzP+X/fqFaJkiGcy1Zo0C9lQlxIovGelPb0WiyRrYRCmp+ke49GdLWS
-4OfA/gRTlQKwIcPtrA4VT8fzo/ma6j35ZqIbYf6MlJmOeQGnqyGQfjBh79O4vrAU
-OO3ZU+v31ADwoUwxt2kCot+iwm75bBkcH7rHHoTHPerGutPJ/Zqg9iZQtwmb3uB6
-F2GkmfitMDWHJCHxWy29A4aBXe33aQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCG
-SAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
-FgQUFVW72Au/k1EUkawGOKwXOVREZP0wHwYDVR0jBBgwFoAUe5BHvV/opTgq28V/
-4NC2FyWxG2wwDQYJKoZIhvcNAQELBQADggEBAKRGwhMhxxA5t8OV84Hj6S58Xb8Z
-0u3Bfc4RFMR9OHJVuirEJPUeGmoLN1fWIs0xWzMdfie2s9nAtTBLGA6J1d/P4Vwv
-I/AdChs+iAPjCvzC9Pg6phdC6llrd9wqZMAHD5RhTFmENHWOK5djqxG2Fm6D/efq
-gL0jWLAQf9Fd86/yPWAUbdBRjHAtWs918IKBZDJ1x7Y97IKC3XMbiqL8p4lpW7xx
-lCtclbPEPuDjtJ5nj5+50d1oMsEzK5vpladUb5bz8eK3agHZSETVHD1A8ZhBHYiO
-lsmBxhaWUYo+3FnqoJuRCtKy6UX7fIGumoKGINmfr5Spl8MlHS5jzxBTfPs=
------END CERTIFICATE-----
diff --git a/wifi_hsnr/wifi_enterprise_example/main/server.crt b/wifi_hsnr/wifi_enterprise_example/main/server.crt
deleted file mode 100644
index ba0c5cb..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/server.crt
+++ /dev/null
@@ -1,82 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=CA/emailAddress=cacert@example.com
- Validity
- Not Before: Jun 15 05:42:04 2022 GMT
- Not After : Jun 12 05:42:04 2032 GMT
- Subject: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=SERVER/emailAddress=server@example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
- Modulus:
- 00:cf:16:7b:1b:6f:2e:04:fc:c3:14:45:61:e3:d4:
- c8:89:29:d0:9a:b5:b3:5e:a7:87:0b:b4:81:da:58:
- 7e:4b:f4:5b:1c:7b:52:c8:74:69:6d:33:f8:93:fc:
- 9c:39:85:ef:50:c5:85:32:fc:6c:a5:10:4f:2f:2f:
- 18:e3:24:10:86:6f:7c:a4:af:3e:3d:95:5d:4c:76:
- 29:d9:78:33:32:02:de:96:c3:7d:a7:fa:69:a1:2b:
- a6:b9:24:5a:57:9d:45:6b:f7:f5:20:bf:2f:a2:ae:
- c8:9a:b9:29:49:60:de:a0:a6:6b:69:9f:76:5e:e0:
- 70:16:d2:a8:8c:be:75:ab:d2:68:66:e9:dd:d0:16:
- 25:02:0b:48:a6:8b:6c:33:50:8d:4b:43:79:46:d8:
- 88:96:1c:18:cf:45:79:2d:25:06:a1:ff:60:ab:87:
- 39:a3:d2:d1:cc:2b:65:eb:41:86:e4:9e:bf:53:f1:
- 78:ed:91:41:b8:7b:18:7f:23:8d:33:e4:19:7b:6e:
- 70:b0:5f:fc:1e:9c:f2:79:05:be:2c:1a:48:62:73:
- ef:cd:33:05:3d:59:d3:9d:d4:55:8d:c8:66:28:36:
- aa:ad:74:91:e7:79:d0:a6:83:7b:16:87:76:d2:62:
- f0:c2:35:1c:ca:36:41:96:34:ed:f1:9c:1b:54:a3:
- b3:41
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 10:C3:17:39:13:DC:68:09:D9:EF:DD:8D:D4:35:A5:EF:15:A2:1F:4C
- X509v3 Authority Key Identifier:
- keyid:7B:90:47:BD:5F:E8:A5:38:2A:DB:C5:7F:E0:D0:B6:17:25:B1:1B:6C
-
- Signature Algorithm: sha256WithRSAEncryption
- 46:52:88:51:b0:dd:d2:ec:92:02:9f:fe:3c:7f:a1:01:f4:72:
- bc:78:98:4b:be:28:8a:8f:e5:5d:20:fb:1d:5f:cf:fe:ce:39:
- f3:c2:54:a1:18:66:11:db:34:f8:79:78:2b:09:1b:8c:7a:d6:
- 05:58:c0:21:86:ef:bc:bd:7c:18:0c:92:7f:4f:d3:36:95:85:
- 45:ad:4b:ed:31:4e:b8:39:43:32:df:cc:dd:dc:0c:c5:24:2f:
- 33:bf:56:47:5f:81:43:ed:c5:8d:fb:c1:69:07:25:a1:5d:e8:
- 01:cb:33:5c:f3:9a:b1:6f:ac:63:49:20:87:cc:16:db:a2:38:
- 8e:79:a6:96:6a:98:37:c9:7e:4c:c9:3a:59:48:38:ca:cf:2c:
- f6:50:79:09:47:87:e7:b0:97:f8:a3:91:d4:83:6c:f2:0c:1a:
- be:5e:c8:e7:05:02:09:60:92:77:74:12:e5:2f:07:a4:cc:cd:
- d9:7a:49:10:2d:34:12:14:2b:0e:6f:c6:7c:0d:c5:f2:8e:32:
- 52:0d:b0:df:93:b5:ce:57:79:de:fa:05:01:94:d0:d0:4e:ee:
- 92:4f:db:39:6f:ed:6b:f8:58:67:30:2d:2c:ee:a2:67:a2:74:
- c1:66:e0:b0:76:02:9b:db:07:d7:ea:10:a2:12:88:e8:78:59:
- 53:06:44:65
------BEGIN CERTIFICATE-----
-MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJJTjEL
-MAkGA1UECAwCTUgxDTALBgNVBAcMBENJVFkxDDAKBgNVBAoMA09SRzENMAsGA1UE
-CwwEVU5JVDELMAkGA1UEAwwCQ0ExITAfBgkqhkiG9w0BCQEWEmNhY2VydEBleGFt
-cGxlLmNvbTAeFw0yMjA2MTUwNTQyMDRaFw0zMjA2MTIwNTQyMDRaMHoxCzAJBgNV
-BAYTAklOMQswCQYDVQQIDAJNSDENMAsGA1UEBwwEQ0lUWTEMMAoGA1UECgwDT1JH
-MQ0wCwYDVQQLDARVTklUMQ8wDQYDVQQDDAZTRVJWRVIxITAfBgkqhkiG9w0BCQEW
-EnNlcnZlckBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAM8WextvLgT8wxRFYePUyIkp0Jq1s16nhwu0gdpYfkv0Wxx7Ush0aW0z+JP8
-nDmF71DFhTL8bKUQTy8vGOMkEIZvfKSvPj2VXUx2Kdl4MzIC3pbDfaf6aaErprkk
-WledRWv39SC/L6KuyJq5KUlg3qCma2mfdl7gcBbSqIy+davSaGbp3dAWJQILSKaL
-bDNQjUtDeUbYiJYcGM9FeS0lBqH/YKuHOaPS0cwrZetBhuSev1PxeO2RQbh7GH8j
-jTPkGXtucLBf/B6c8nkFviwaSGJz780zBT1Z053UVY3IZig2qq10ked50KaDexaH
-dtJi8MI1HMo2QZY07fGcG1Sjs0ECAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgB
-hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
-FBDDFzkT3GgJ2e/djdQ1pe8Voh9MMB8GA1UdIwQYMBaAFHuQR71f6KU4KtvFf+DQ
-thclsRtsMA0GCSqGSIb3DQEBCwUAA4IBAQBGUohRsN3S7JICn/48f6EB9HK8eJhL
-viiKj+VdIPsdX8/+zjnzwlShGGYR2zT4eXgrCRuMetYFWMAhhu+8vXwYDJJ/T9M2
-lYVFrUvtMU64OUMy38zd3AzFJC8zv1ZHX4FD7cWN+8FpByWhXegByzNc85qxb6xj
-SSCHzBbbojiOeaaWapg3yX5MyTpZSDjKzyz2UHkJR4fnsJf4o5HUg2zyDBq+Xsjn
-BQIJYJJ3dBLlLwekzM3ZekkQLTQSFCsOb8Z8DcXyjjJSDbDfk7XOV3ne+gUBlNDQ
-Tu6ST9s5b+1r+FhnMC0s7qJnonTBZuCwdgKb2wfX6hCiEojoeFlTBkRl
------END CERTIFICATE-----
diff --git a/wifi_hsnr/wifi_enterprise_example/main/server.pem b/wifi_hsnr/wifi_enterprise_example/main/server.pem
deleted file mode 100644
index ba0c5cb..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/server.pem
+++ /dev/null
@@ -1,82 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=CA/emailAddress=cacert@example.com
- Validity
- Not Before: Jun 15 05:42:04 2022 GMT
- Not After : Jun 12 05:42:04 2032 GMT
- Subject: C=IN, ST=MH, L=CITY, O=ORG, OU=UNIT, CN=SERVER/emailAddress=server@example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public-Key: (2048 bit)
- Modulus:
- 00:cf:16:7b:1b:6f:2e:04:fc:c3:14:45:61:e3:d4:
- c8:89:29:d0:9a:b5:b3:5e:a7:87:0b:b4:81:da:58:
- 7e:4b:f4:5b:1c:7b:52:c8:74:69:6d:33:f8:93:fc:
- 9c:39:85:ef:50:c5:85:32:fc:6c:a5:10:4f:2f:2f:
- 18:e3:24:10:86:6f:7c:a4:af:3e:3d:95:5d:4c:76:
- 29:d9:78:33:32:02:de:96:c3:7d:a7:fa:69:a1:2b:
- a6:b9:24:5a:57:9d:45:6b:f7:f5:20:bf:2f:a2:ae:
- c8:9a:b9:29:49:60:de:a0:a6:6b:69:9f:76:5e:e0:
- 70:16:d2:a8:8c:be:75:ab:d2:68:66:e9:dd:d0:16:
- 25:02:0b:48:a6:8b:6c:33:50:8d:4b:43:79:46:d8:
- 88:96:1c:18:cf:45:79:2d:25:06:a1:ff:60:ab:87:
- 39:a3:d2:d1:cc:2b:65:eb:41:86:e4:9e:bf:53:f1:
- 78:ed:91:41:b8:7b:18:7f:23:8d:33:e4:19:7b:6e:
- 70:b0:5f:fc:1e:9c:f2:79:05:be:2c:1a:48:62:73:
- ef:cd:33:05:3d:59:d3:9d:d4:55:8d:c8:66:28:36:
- aa:ad:74:91:e7:79:d0:a6:83:7b:16:87:76:d2:62:
- f0:c2:35:1c:ca:36:41:96:34:ed:f1:9c:1b:54:a3:
- b3:41
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 10:C3:17:39:13:DC:68:09:D9:EF:DD:8D:D4:35:A5:EF:15:A2:1F:4C
- X509v3 Authority Key Identifier:
- keyid:7B:90:47:BD:5F:E8:A5:38:2A:DB:C5:7F:E0:D0:B6:17:25:B1:1B:6C
-
- Signature Algorithm: sha256WithRSAEncryption
- 46:52:88:51:b0:dd:d2:ec:92:02:9f:fe:3c:7f:a1:01:f4:72:
- bc:78:98:4b:be:28:8a:8f:e5:5d:20:fb:1d:5f:cf:fe:ce:39:
- f3:c2:54:a1:18:66:11:db:34:f8:79:78:2b:09:1b:8c:7a:d6:
- 05:58:c0:21:86:ef:bc:bd:7c:18:0c:92:7f:4f:d3:36:95:85:
- 45:ad:4b:ed:31:4e:b8:39:43:32:df:cc:dd:dc:0c:c5:24:2f:
- 33:bf:56:47:5f:81:43:ed:c5:8d:fb:c1:69:07:25:a1:5d:e8:
- 01:cb:33:5c:f3:9a:b1:6f:ac:63:49:20:87:cc:16:db:a2:38:
- 8e:79:a6:96:6a:98:37:c9:7e:4c:c9:3a:59:48:38:ca:cf:2c:
- f6:50:79:09:47:87:e7:b0:97:f8:a3:91:d4:83:6c:f2:0c:1a:
- be:5e:c8:e7:05:02:09:60:92:77:74:12:e5:2f:07:a4:cc:cd:
- d9:7a:49:10:2d:34:12:14:2b:0e:6f:c6:7c:0d:c5:f2:8e:32:
- 52:0d:b0:df:93:b5:ce:57:79:de:fa:05:01:94:d0:d0:4e:ee:
- 92:4f:db:39:6f:ed:6b:f8:58:67:30:2d:2c:ee:a2:67:a2:74:
- c1:66:e0:b0:76:02:9b:db:07:d7:ea:10:a2:12:88:e8:78:59:
- 53:06:44:65
------BEGIN CERTIFICATE-----
-MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJJTjEL
-MAkGA1UECAwCTUgxDTALBgNVBAcMBENJVFkxDDAKBgNVBAoMA09SRzENMAsGA1UE
-CwwEVU5JVDELMAkGA1UEAwwCQ0ExITAfBgkqhkiG9w0BCQEWEmNhY2VydEBleGFt
-cGxlLmNvbTAeFw0yMjA2MTUwNTQyMDRaFw0zMjA2MTIwNTQyMDRaMHoxCzAJBgNV
-BAYTAklOMQswCQYDVQQIDAJNSDENMAsGA1UEBwwEQ0lUWTEMMAoGA1UECgwDT1JH
-MQ0wCwYDVQQLDARVTklUMQ8wDQYDVQQDDAZTRVJWRVIxITAfBgkqhkiG9w0BCQEW
-EnNlcnZlckBleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
-ggEBAM8WextvLgT8wxRFYePUyIkp0Jq1s16nhwu0gdpYfkv0Wxx7Ush0aW0z+JP8
-nDmF71DFhTL8bKUQTy8vGOMkEIZvfKSvPj2VXUx2Kdl4MzIC3pbDfaf6aaErprkk
-WledRWv39SC/L6KuyJq5KUlg3qCma2mfdl7gcBbSqIy+davSaGbp3dAWJQILSKaL
-bDNQjUtDeUbYiJYcGM9FeS0lBqH/YKuHOaPS0cwrZetBhuSev1PxeO2RQbh7GH8j
-jTPkGXtucLBf/B6c8nkFviwaSGJz780zBT1Z053UVY3IZig2qq10ked50KaDexaH
-dtJi8MI1HMo2QZY07fGcG1Sjs0ECAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgB
-hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
-FBDDFzkT3GgJ2e/djdQ1pe8Voh9MMB8GA1UdIwQYMBaAFHuQR71f6KU4KtvFf+DQ
-thclsRtsMA0GCSqGSIb3DQEBCwUAA4IBAQBGUohRsN3S7JICn/48f6EB9HK8eJhL
-viiKj+VdIPsdX8/+zjnzwlShGGYR2zT4eXgrCRuMetYFWMAhhu+8vXwYDJJ/T9M2
-lYVFrUvtMU64OUMy38zd3AzFJC8zv1ZHX4FD7cWN+8FpByWhXegByzNc85qxb6xj
-SSCHzBbbojiOeaaWapg3yX5MyTpZSDjKzyz2UHkJR4fnsJf4o5HUg2zyDBq+Xsjn
-BQIJYJJ3dBLlLwekzM3ZekkQLTQSFCsOb8Z8DcXyjjJSDbDfk7XOV3ne+gUBlNDQ
-Tu6ST9s5b+1r+FhnMC0s7qJnonTBZuCwdgKb2wfX6hCiEojoeFlTBkRl
------END CERTIFICATE-----
diff --git a/wifi_hsnr/wifi_enterprise_example/main/wifi_enterprise_main.c b/wifi_hsnr/wifi_enterprise_example/main/wifi_enterprise_main.c
deleted file mode 100644
index ba524c7..0000000
--- a/wifi_hsnr/wifi_enterprise_example/main/wifi_enterprise_main.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2006-2016 ARM Limited
- * SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#include <string.h>
-#include <stdlib.h>
-#include "freertos/FreeRTOS.h"
-#include "freertos/task.h"
-#include "freertos/event_groups.h"
-#include "esp_wifi.h"
-#include "esp_eap_client.h"
-#include "esp_event.h"
-#include "esp_log.h"
-#include "esp_system.h"
-#include "nvs_flash.h"
-#include "esp_netif.h"
-
-/* The examples use simple WiFi configuration that you can set via
- project configuration menu.
-
- If you'd rather not, just change the below entries to strings with
- the config you want - ie #define EXAMPLE_WIFI_SSID "mywifissid"
-
- You can choose EAP method via project configuration according to the
- configuration of AP.
-*/
-#define EXAMPLE_WIFI_SSID CONFIG_EXAMPLE_WIFI_SSID
-#define EXAMPLE_EAP_METHOD CONFIG_EXAMPLE_EAP_METHOD
-
-#define EXAMPLE_EAP_ID CONFIG_EXAMPLE_EAP_ID
-#define EXAMPLE_EAP_USERNAME CONFIG_EXAMPLE_EAP_USERNAME
-#define EXAMPLE_EAP_PASSWORD CONFIG_EXAMPLE_EAP_PASSWORD
-#define EXAMPLE_SERVER_CERT_DOMAIN CONFIG_EXAMPLE_SERVER_CERT_DOMAIN
-
-/* FreeRTOS event group to signal when we are connected & ready to make a request */
-static EventGroupHandle_t wifi_event_group;
-
-/* esp netif object representing the WIFI station */
-static esp_netif_t *sta_netif = NULL;
-
-/* The event group allows multiple bits for each event,
- but we only care about one event - are we connected
- to the AP with an IP? */
-const int CONNECTED_BIT = BIT0;
-
-static const char *TAG = "example";
-
-/* CA cert, taken from ca.pem
- Client cert, taken from client.crt
- Client key, taken from client.key
-
- The PEM, CRT and KEY file were provided by the person or organization
- who configured the AP with wifi enterprise.
-
- To embed it in the app binary, the PEM, CRT and KEY file is named
- in the component.mk COMPONENT_EMBED_TXTFILES variable.
-*/
-#if defined(CONFIG_EXAMPLE_VALIDATE_SERVER_CERT) || \
- defined(CONFIG_EXAMPLE_WPA3_ENTERPRISE) || \
- defined(CONFIG_EXAMPLE_WPA3_192BIT_ENTERPRISE) || \
- defined(CONFIG_ESP_WIFI_EAP_TLS1_3)
-#define SERVER_CERT_VALIDATION_ENABLED
-#endif
-
-#ifdef SERVER_CERT_VALIDATION_ENABLED
-extern uint8_t ca_pem_start[] asm("_binary_ca_pem_start");
-extern uint8_t ca_pem_end[] asm("_binary_ca_pem_end");
-#endif /* SERVER_CERT_VALIDATION_ENABLED */
-
-#ifdef CONFIG_EXAMPLE_EAP_METHOD_TLS
-extern uint8_t client_crt_start[] asm("_binary_client_crt_start");
-extern uint8_t client_crt_end[] asm("_binary_client_crt_end");
-extern uint8_t client_key_start[] asm("_binary_client_key_start");
-extern uint8_t client_key_end[] asm("_binary_client_key_end");
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_TLS */
-
-#if defined CONFIG_EXAMPLE_EAP_METHOD_TTLS
-esp_eap_ttls_phase2_types TTLS_PHASE2_METHOD = CONFIG_EXAMPLE_EAP_METHOD_TTLS_PHASE_2;
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_TTLS */
-
-static void event_handler(void* arg, esp_event_base_t event_base,
- int32_t event_id, void* event_data)
-{
- if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) {
- esp_wifi_connect();
- } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) {
- esp_wifi_connect();
- xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
- } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) {
- xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
- }
-}
-
-static void initialise_wifi(void)
-{
- esp_eap_method_t eap_methods = ESP_EAP_TYPE_ALL;
-#ifdef SERVER_CERT_VALIDATION_ENABLED
- unsigned int ca_pem_bytes = ca_pem_end - ca_pem_start;
-#endif /* SERVER_CERT_VALIDATION_ENABLED */
-
-#ifdef CONFIG_EXAMPLE_EAP_METHOD_TLS
- unsigned int client_crt_bytes = client_crt_end - client_crt_start;
- unsigned int client_key_bytes = client_key_end - client_key_start;
- eap_methods = ESP_EAP_TYPE_TLS;
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_TLS */
-
- ESP_ERROR_CHECK(esp_netif_init());
- wifi_event_group = xEventGroupCreate();
- ESP_ERROR_CHECK(esp_event_loop_create_default());
- sta_netif = esp_netif_create_default_wifi_sta();
- assert(sta_netif);
-
- wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
- ESP_ERROR_CHECK(esp_wifi_init(&cfg));
- ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL));
- ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &event_handler, NULL));
- ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
- wifi_config_t wifi_config = {
- .sta = {
- .ssid = EXAMPLE_WIFI_SSID,
-#if defined (CONFIG_EXAMPLE_WPA3_192BIT_ENTERPRISE) || defined (CONFIG_EXAMPLE_WPA3_ENTERPRISE)
- .pmf_cfg = {
- .required = true
- },
-#endif
- },
- };
- ESP_LOGI(TAG, "Setting WiFi configuration SSID %s...", wifi_config.sta.ssid);
- ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA) );
- ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config) );
- ESP_ERROR_CHECK(esp_eap_client_set_identity((uint8_t *)EXAMPLE_EAP_ID, strlen(EXAMPLE_EAP_ID)) );
-
-#ifdef SERVER_CERT_VALIDATION_ENABLED
- ESP_ERROR_CHECK(esp_eap_client_set_ca_cert(ca_pem_start, ca_pem_bytes) );
-#endif /* SERVER_CERT_VALIDATION_ENABLED */
-
-#ifdef CONFIG_EXAMPLE_EAP_METHOD_TLS
- ESP_ERROR_CHECK(esp_eap_client_set_certificate_and_key(client_crt_start, client_crt_bytes,
- client_key_start, client_key_bytes, NULL, 0) );
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_TLS */
-
-#if defined (CONFIG_EXAMPLE_EAP_METHOD_PEAP) || \
- defined (CONFIG_EXAMPLE_EAP_METHOD_TTLS)
- ESP_ERROR_CHECK(esp_eap_client_set_username((uint8_t *)EXAMPLE_EAP_USERNAME, strlen(EXAMPLE_EAP_USERNAME)) );
- ESP_ERROR_CHECK(esp_eap_client_set_password((uint8_t *)EXAMPLE_EAP_PASSWORD, strlen(EXAMPLE_EAP_PASSWORD)) );
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_PEAP || CONFIG_EXAMPLE_EAP_METHOD_TTLS */
-
-#if defined CONFIG_EXAMPLE_EAP_METHOD_TTLS
- ESP_ERROR_CHECK(esp_eap_client_set_ttls_phase2_method(TTLS_PHASE2_METHOD) );
- eap_methods = ESP_EAP_TYPE_TTLS;
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_TTLS */
-#if defined (CONFIG_EXAMPLE_EAP_METHOD_PEAP)
- eap_methods = ESP_EAP_TYPE_PEAP;
-#endif /* CONFIG_EXAMPLE_EAP_METHOD_PEAP */
-
-#if defined (CONFIG_EXAMPLE_WPA3_192BIT_ENTERPRISE)
- ESP_LOGI(TAG, "Enabling 192 bit certification");
- ESP_ERROR_CHECK(esp_eap_client_set_suiteb_192bit_certification(true));
-#endif
-#ifdef CONFIG_EXAMPLE_USE_DEFAULT_CERT_BUNDLE
- ESP_ERROR_CHECK(esp_eap_client_use_default_cert_bundle(true));
-#endif
-#ifdef CONFIG_EXAMPLE_VALIDATE_SERVER_CERT_DOMAIN
- ESP_ERROR_CHECK(esp_eap_client_set_domain_name(EXAMPLE_SERVER_CERT_DOMAIN));
-#endif
- ESP_ERROR_CHECK(esp_eap_client_set_eap_methods(eap_methods));
- ESP_ERROR_CHECK(esp_wifi_sta_enterprise_enable());
- ESP_ERROR_CHECK(esp_wifi_start());
-}
-
-static void wifi_enterprise_example_task(void *pvParameters)
-{
- esp_netif_ip_info_t ip;
- memset(&ip, 0, sizeof(esp_netif_ip_info_t));
- vTaskDelay(2000 / portTICK_PERIOD_MS);
-
- while (1) {
- vTaskDelay(2000 / portTICK_PERIOD_MS);
-
- if (esp_netif_get_ip_info(sta_netif, &ip) == 0) {
- ESP_LOGI(TAG, "~~~~~~~~~~~");
- ESP_LOGI(TAG, "IP:"IPSTR, IP2STR(&ip.ip));
- ESP_LOGI(TAG, "MASK:"IPSTR, IP2STR(&ip.netmask));
- ESP_LOGI(TAG, "GW:"IPSTR, IP2STR(&ip.gw));
- ESP_LOGI(TAG, "~~~~~~~~~~~");
- }
- }
-}
-
-void app_main(void)
-{
- ESP_ERROR_CHECK(nvs_flash_init());
- initialise_wifi();
- xTaskCreate(&wifi_enterprise_example_task, "wifi_enterprise_example_task", 4096, NULL, 5, NULL);
-}