Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 547c2d3

Browse filesBrowse files
martinius96me-no-dev
authored andcommitted
Root CA of webserver has changed, minor changes (espressif#3447)
1 parent 7d2632c commit 547c2d3
Copy full SHA for 547c2d3

File tree

1 file changed

+61
-50
lines changed
Filter options

1 file changed

+61
-50
lines changed
+61-50Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,51 @@
1-
/*|----------------------------------------------------------|*/
2-
/*|WORKING EXAMPLE FOR HTTPS CONNECTION |*/
3-
/*|TESTED BOARDS: Devkit v1 DOIT, Devkitc v4 |*/
4-
/*|CORE: June 2018 |*/
5-
/*|----------------------------------------------------------|*/
1+
/*|-----------------------------------------------------------|*/
2+
/*|WORKING EXAMPLE FOR HTTPS CONNECTION |*/
3+
/*|Author: Bc. Martin Chlebovec |*/
4+
/*|Technical University of Košice |*/
5+
/*|TESTED BOARDS: Devkit v1 DOIT, Devkitc v4 |*/
6+
/*|CORE: 0.9x, 1.0.0, 1.0.1 tested, working (newer not tested)|*/
7+
/*|Supported methods: PEAP + MsCHAPv2, EAP-TTLS + MsCHAPv2 |*/
8+
/*|-----------------------------------------------------------|*/
9+
610
#include <WiFi.h>
711
#include <WiFiClientSecure.h>
812
#include "esp_wpa2.h"
913
#include <Wire.h>
10-
#define EAP_IDENTITY "identity" //if connecting from another corporation, use identity@organisation.domain in Eduroam
11-
#define EAP_PASSWORD "password" //your Eduroam password
12-
const char* ssid = "eduroam"; // Eduroam SSID
13-
const char* host = "arduino.php5.sk"; //external server domain for HTTP connection after authentification
14+
#define EAP_ANONYMOUS_IDENTITY "anonymous@example.com" //anonymous identity
15+
#define EAP_IDENTITY "id@example.com" //user identity
16+
#define EAP_PASSWORD "password" //eduroam user password
17+
const char* ssid = "eduroam"; // eduroam SSID
18+
const char* host = "arduino.php5.sk"; //external server domain for HTTPS connection
1419
int counter = 0;
15-
const char* test_root_ca= \
16-
"-----BEGIN CERTIFICATE-----\n" \
17-
"MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n" \
18-
"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
19-
"d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\n" \
20-
"QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\n" \
21-
"MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\n" \
22-
"b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n" \
23-
"9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\n" \
24-
"CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\n" \
25-
"nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n" \
26-
"43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\n" \
27-
"T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\n" \
28-
"gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\n" \
29-
"BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\n" \
30-
"TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\n" \
31-
"DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\n" \
32-
"hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n" \
33-
"06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\n" \
34-
"PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\n" \
35-
"YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\n" \
36-
"CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n" \
37-
"-----END CERTIFICATE-----\n";
20+
const char* test_root_ca = \
21+
"-----BEGIN CERTIFICATE-----\n" \
22+
"MIIEsTCCA5mgAwIBAgIQCKWiRs1LXIyD1wK0u6tTSTANBgkqhkiG9w0BAQsFADBh\n" \
23+
"MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\n" \
24+
"d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\n" \
25+
"QTAeFw0xNzExMDYxMjIzMzNaFw0yNzExMDYxMjIzMzNaMF4xCzAJBgNVBAYTAlVT\n" \
26+
"MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\n" \
27+
"b20xHTAbBgNVBAMTFFJhcGlkU1NMIFJTQSBDQSAyMDE4MIIBIjANBgkqhkiG9w0B\n" \
28+
"AQEFAAOCAQ8AMIIBCgKCAQEA5S2oihEo9nnpezoziDtx4WWLLCll/e0t1EYemE5n\n" \
29+
"+MgP5viaHLy+VpHP+ndX5D18INIuuAV8wFq26KF5U0WNIZiQp6mLtIWjUeWDPA28\n" \
30+
"OeyhTlj9TLk2beytbtFU6ypbpWUltmvY5V8ngspC7nFRNCjpfnDED2kRyJzO8yoK\n" \
31+
"MFz4J4JE8N7NA1uJwUEFMUvHLs0scLoPZkKcewIRm1RV2AxmFQxJkdf7YN9Pckki\n" \
32+
"f2Xgm3b48BZn0zf0qXsSeGu84ua9gwzjzI7tbTBjayTpT+/XpWuBVv6fvarI6bik\n" \
33+
"KB859OSGQuw73XXgeuFwEPHTIRoUtkzu3/EQ+LtwznkkdQIDAQABo4IBZjCCAWIw\n" \
34+
"HQYDVR0OBBYEFFPKF1n8a8ADIS8aruSqqByCVtp1MB8GA1UdIwQYMBaAFAPeUDVW\n" \
35+
"0Uy7ZvCj4hsbw5eyPdFVMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEF\n" \
36+
"BQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgwBgEB/wIBADA0BggrBgEFBQcBAQQo\n" \
37+
"MCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBCBgNVHR8E\n" \
38+
"OzA5MDegNaAzhjFodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRHbG9i\n" \
39+
"YWxSb290Q0EuY3JsMGMGA1UdIARcMFowNwYJYIZIAYb9bAECMCowKAYIKwYBBQUH\n" \
40+
"AgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAEBMAgG\n" \
41+
"BmeBDAECATAIBgZngQwBAgIwDQYJKoZIhvcNAQELBQADggEBAH4jx/LKNW5ZklFc\n" \
42+
"YWs8Ejbm0nyzKeZC2KOVYR7P8gevKyslWm4Xo4BSzKr235FsJ4aFt6yAiv1eY0tZ\n" \
43+
"/ZN18bOGSGStoEc/JE4ocIzr8P5Mg11kRYHbmgYnr1Rxeki5mSeb39DGxTpJD4kG\n" \
44+
"hs5lXNoo4conUiiJwKaqH7vh2baryd8pMISag83JUqyVGc2tWPpO0329/CWq2kry\n" \
45+
"qv66OSMjwulUz0dXf4OHQasR7CNfIr+4KScc6ABlQ5RDF86PGeE6kdwSQkFiB/cQ\n" \
46+
"ysNyq0jEDQTkfa2pjmuWtMCNbBnhFXBYejfubIhaUbEv2FOQB3dCav+FPg5eEveX\n" \
47+
"TVyMnGo=\n" \
48+
"-----END CERTIFICATE-----\n";
3849
// You can use x.509 client certificates if you want
3950
//const char* test_client_key = ""; //to verify the client
4051
//const char* test_client_cert = ""; //to verify the client
@@ -47,42 +58,42 @@ void setup() {
4758
Serial.println(ssid);
4859
WiFi.disconnect(true); //disconnect form wifi to set new wifi connection
4960
WiFi.mode(WIFI_STA); //init wifi mode
50-
esp_wifi_sta_wpa2_ent_set_identity((uint8_t *)EAP_IDENTITY, strlen(EAP_IDENTITY)); //provide identity
51-
esp_wifi_sta_wpa2_ent_set_username((uint8_t *)EAP_IDENTITY, strlen(EAP_IDENTITY)); //provide username --> identity and username is same
61+
esp_wifi_sta_wpa2_ent_set_identity((uint8_t *)EAP_ANONYMOUS_IDENTITY, strlen(EAP_ANONYMOUS_IDENTITY)); //provide identity
62+
esp_wifi_sta_wpa2_ent_set_username((uint8_t *)EAP_IDENTITY, strlen(EAP_IDENTITY)); //provide username
5263
esp_wifi_sta_wpa2_ent_set_password((uint8_t *)EAP_PASSWORD, strlen(EAP_PASSWORD)); //provide password
53-
esp_wpa2_config_t config = WPA2_CONFIG_INIT_DEFAULT(); //set config settings to default
54-
esp_wifi_sta_wpa2_ent_enable(&config); //set config settings to enable function
64+
esp_wpa2_config_t config = WPA2_CONFIG_INIT_DEFAULT();
65+
esp_wifi_sta_wpa2_ent_enable(&config);
5566
WiFi.begin(ssid); //connect to wifi
5667
while (WiFi.status() != WL_CONNECTED) {
5768
delay(500);
5869
Serial.print(".");
5970
counter++;
60-
if(counter>=60){ //after 30 seconds timeout - reset board
71+
if (counter >= 60) { //after 30 seconds timeout - reset board (on unsucessful connection)
6172
ESP.restart();
6273
}
6374
}
6475
client.setCACert(test_root_ca);
65-
//client.setCertificate(test_client_key); // for client verification
66-
//client.setPrivateKey(test_client_cert); // for client verification
76+
//client.setCertificate(test_client_key); // for client verification - certificate
77+
//client.setPrivateKey(test_client_cert); // for client verification - private key
6778
Serial.println("");
6879
Serial.println("WiFi connected");
69-
Serial.println("IP address set: ");
80+
Serial.println("IP address set: ");
7081
Serial.println(WiFi.localIP()); //print LAN IP
7182
}
7283
void loop() {
73-
if (WiFi.status() == WL_CONNECTED) { //if we are connected to Eduroam network
84+
if (WiFi.status() == WL_CONNECTED) { //if we are connected to eduroam network
7485
counter = 0; //reset counter
75-
Serial.println("Wifi is still connected with IP: ");
86+
Serial.println("Wifi is still connected with IP: ");
7687
Serial.println(WiFi.localIP()); //inform user about his IP address
77-
}else if (WiFi.status() != WL_CONNECTED) { //if we lost connection, retry
78-
WiFi.begin(ssid);
88+
} else if (WiFi.status() != WL_CONNECTED) { //if we lost connection, retry
89+
WiFi.begin(ssid);
7990
}
8091
while (WiFi.status() != WL_CONNECTED) { //during lost connection, print dots
8192
delay(500);
8293
Serial.print(".");
8394
counter++;
84-
if(counter>=60){ //30 seconds timeout - reset board
85-
ESP.restart();
95+
if (counter >= 60) { //30 seconds timeout - reset board
96+
ESP.restart();
8697
}
8798
}
8899
Serial.print("Connecting to website: ");
@@ -98,9 +109,9 @@ void loop() {
98109
}
99110
}
100111
String line = client.readStringUntil('\n');
101-
Serial.println(line);
102-
}else{
103-
Serial.println("Connection unsucessful");
104-
}
112+
Serial.println(line);
113+
} else {
114+
Serial.println("Connection unsucessful");
115+
}
105116
delay(5000);
106117
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.