GithubHelp home page GithubHelp logo

esp32_wpa2_enterprise's Introduction

ESP32_WPA2_Enterprise

esp32_wpa2_enterprise's People

Contributors

abdussametkaci avatar

Stargazers

 avatar Mert İshak Kılıç avatar

Watchers

James Cloos avatar  avatar

esp32_wpa2_enterprise's Issues

Authentication ERR

Hi I've used your example but got issues with the connection to my local server using CA certificates and Server cert + Key. Certificates are correct as I've tried the m on a RPI to connect to the same network and worked fine.
Any help would be greatly apreciated
Board is ESP32-Tiny Pico
Debug:
[W][WiFiGeneric.cpp:353] _eventCallback(): Reason: 204 - HANDSHAKE_TIMEOUT
............................................................[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 5 - STA_DISCONNECTED
[W][WiFiGeneric.cpp:353] _eventCallback(): Reason: 204 - HANDSHAKE_TIMEOUT

Loading the CA. Server, Key and ID results in ESP_OK
const char* ssid = "STMFG"; // Eduroam SSID
Source Code:
int counter = 0;

const char *id = "kirltvrpi002.kir.st.com";

const char *ca = R"rawliteral(-----BEGIN CERTIFICATE-----
MIIGuDCCBKCgAwIBAgIQIj+t7GM53cf+Gb72TUGTczANBgkqhkiG9w0BAQsFADCB
kDELMAkGA1UEBhMCQ0gxLjAsBgNVBAoTJVNUTWljcm9lbGVjdHJvbmljcyBJbnRl
cm5hdGlvbmFsIE4uVi4xFjAUBgNVBAsTDUNvcnBvcmF0ZSBJb1QxOTA3BgNVBAMT
MFNUTWljcm9lbGVjdHJvbmljcyBQcml2YXRlIEludGVybmFsIElvVCBSb290IENB
MTAeFw0yMDA1MDYwMDAwMDBaFw0zNTA1MDUyMzU5NTlaMIGDMQswCQYDVQQGEwJD
SDEuMCwGA1UEChMlU1RNaWNyb2VsZWN0cm9uaWNzIEludGVybmF0aW9uYWwgTi5W
LjEWMBQGA1UECxMNQ29ycG9yYXRlIElvVDEsMCoGA1UEAxMjU1RNaWNyb2VsZWN0
cm9uaWNzIEludGVybmFsIElvVCBDQTEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
ggIKAoICAQDBTkJQEOe79Cm/Olt+parmjU/gQmkj1ZlwDk7h15ulOhfKJZ63cb1J
HTkztjwj+U5jizRRkLTLCv8W7DnuAaPTvKkinkx6Nurp7a571ZGlIYoGEO85ZffK
VSLoxg8Iubs2bcLqrFL9kLp8gPfuUGOA0Gl/QlcsUstk/I+/p6qZhBQ+fSKDiU37
fT4VlELFN7rZoTAFwr2vJlyCDdGZiGVLtk5xbzoCwNlAs/fD64TNJ0Krm3u6VkKp
oIpj4WDDPaDTZevLA0bQPPeTO3HyT97iFv1MsCS0Oz7fBysjVIx8h76sOnYSA0Kv
jfgrUyKUUtaBUORtBXF+TW6SYqQKuPalRqWV/M921Otaf4XSMi7nNTnu2+cm+cI4
mkY28rUk0UfxfGjDzua6l5xtaB/R1uUvx8ytOf10tOMd5y0uGYl35zKqsPKHO2Tn
wVIt/T5e/XQS0cBCbMy+vBT9+dohuro8zVyVG1fofY+sn6gd7HjA6+sdtrAe/y6G
Tp6l0PzjNcs3Orat7vws1jEGdqvk3gVHlk6QLYc/2YqYHHrviwZyI5bIzYonTHKG
oaRi612kpzdtp2Z9BBYJcxqcJzYjGp/CXjmtg9yzhDXP/eVibitt1FMO5OQHmf/H
zQ681BuOkDDOBtYVgjoWVWZABM7PXA0Polx+EDjHbyYRtmlb7205jwIDAQABo4IB
BBR4mY6mgD8XTUkJx194
qwEx/1zqvDAfBgNVHSMEGDAWgBToRuDkUmnvWUGrm/ysD+0oRfvnKDANBgkqhkiG
9w0BAQsFAAOCAgEAMnMbkJf4z2M+Xf0yahSr2mj0QpA7SwM1k5BTv3D6n+22Bxm2
0uXo+f00tZlfUvJm3paNlhskaMgUKYouPClkPkNmcIecsXS96QuzSuTMLmUjXgtt
ZU0su7VuU27H0xzp1RFb4nBqf7S7Y5XZSmoF4UqTUK6Y1z/zMvNdnt94oBp82MEJ
iOTTHiFIJ9ry2dyH99+WU+znEyx6EnXdbxvyuDK5ipDVbg+1omcvkGwoW0lgwVT4
ObUklEng5lKJz0j51A7NTpRAFMFwJCFw3QlFnkOZJR5vfkp982O+nTUos8UTI7mX
4qPL/x7lKUIAJxPMFVv5I/IfTnqF80fULrVTJ59gOpWidALJnOykRsEfsEBvx9gA
fH+DNO4o8afYOlTfTH8y3UvaSgfM3HDXnECJTic+IIOlEEdLS3BO/zUrASp5V4V3
BeMDFPDIhS8AFUEC7ogcaBHJRE4Y5n+sP0ySWm+wejAiS2dFSeJJfYy1QgpIc9yf
sBKJ7uT7tJuIaf7D82i0PAdlG0+12Bmr9Ai00pVMWY2vIOXlORLHfMtqi21lyDQ8
oZou/nr9oNcG0BNdKBR2ZyqnumhV1QU4liK/tn/TSux9AUA3kI2atdP7pXFwV/L/
AiIWaLPAVy7iRDOZTHf/lvKJvrI62IySad85vh4A2h+qjTPpzUkaXX2FXH8=
-----END CERTIFICATE-----)rawliteral";

const char *srv = R"rawliteral(-----BEGIN CERTIFICATE-----
MIIFlTCCA32gAwIBAgIQf2E9teDiZocSoQd4qAxrcjANBgkqhkiG9w0BAQsFADCB
gzELMAkGA1UEBhMCQ0gxLjAsBgNVBAoTJVNUTWljcm9lbGVjdHJvbmljcyBJbnRl
cm5hdGlvbmFsIE4uVi4xFjAUBgNVBAsTDUNvcnBvcmF0ZSBJb1QxLDAqBgNVBAMT
I1NUTWljcm9lbGVjdHJvbmljcyBJbnRlcm5hbCBJb1QgQ0ExMB4XDTIwMDgyNzAw
MDAwMFoXDTIzMDgyNzIzNTk1OVowXjEgMB4GA1UEAwwXa2lybHR2cnBpMDAyLmtp
ci5zdC5jb20xDDAKBgNVBAsMA0RJVDEsMCoGA1UECgwjU1RNaWNyb2VsZWN0cm9u
aWNzIEludGVybmF0aW9uYWwgTlYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDEb5TKGyafuucOTzxRXI2pcqCT+gOF7ZwuPBoYoZeIAOm3d29N0prNGNVZ
tVJlSONBYdR/Nh+QLhHsKPhwZePh+d/AxPMw5H11AGeGbuzY0FxS2jcMxqdbeUgW
2nReMMaV1/d7XyXOQ6+Kq3HfTthUv7CTCu8GaMH/pgXyIzE0js5yHz0Gt9XWO3Bg
mFAKJrrZZvCaVmZkEZ5Kz1gjSD1HZ6GA4dG+CesZ/STIJSKn4ZTTfHetqdPjnRe8
JaPUA3EhwklvEIBNIgxAfUm0zdowqQ1DS9C9lcYtEuEDShi7MxUJ45cJDaXqji+a
UUq2CDc7dGD+TtLP2NsW5+4HC1yHAgMBAAGjggEnMIIBIzAMBgNVHRMBAf8EAjAA
MA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjCBkgYDVR0fBIGK
xqb1cyfrc9q
mjYp+i1oTnQ/DD5vQaSyu1+vh10NJwMiaiO3/hZebT/Hb7ykXevJm23tvWlLhSjH
aVZ8zdUJF0zGuUw0dek5W9pgDX49+HNvRraqilO/nEvApXrgiDWPQfu220j6P9A7
ylgmoVDsTJID9L4jimssHQXL4kRtWQPnqcwSWDRPlM/QLIgl6sakWtjPRvVP2hiR
OYLcIHIsAHNR7XICK+09nHvYWHeQUuIfVCgjyVnheK1/jeJkoFQ++AgIrgc+GnbU
PXxfDFwKplHwIVhbNxVZgW+zqBEndh5pREHcpeZAznEwUB+3hPzuLz596aAJWWCb
wlINZzk5mZbe5/KJ0VxRXtJu2pfTA6TfJUgihsSuclFw/T7iU5pU5qD4bIBQ7LLZ
Z/1/zIfUNGKKXtKs8Ypa7qcVKUPIU+HMx4S+F4KrMbogMwLu959ZO612MEE/BG0G
5AObLOv7qDG5dx7+o792bASvZBBeStqmMdhDcH0OzgrFeB6JI3yB1/6xIHdi2Ds8
+H2ryz5c+BFop0hiXU/Vd7J2rEOBAPxD0L2ld12+Q3fn0spc80EuVQ8=
-----END CERTIFICATE-----)rawliteral";

const char *key = R"rawliteral(-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIjtSYfVfOaYcCAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECJvboMAdUzChBIIEyNUMKIRC/FAk
lu26UMIr0CtwXDzbxUM9a5DNMKTmZ1kFGJrwkSY4st8hqum39bgTG34ACMGnky9F
fJILaPMZg5EIdDDxC/XSfVaKxE7rTgecfTNMwu+984xusERYFTTPD/BH6Jokgr3i
06FsC2PlWVJ+zXBN/sO5UujEoK/1OQfHr7rPeRyANEweDbjS2Uv4N9GKTIicnEEC
JO1eUFg9Z0uo5T86zHmSkJTbj53+rC2oCZ866AhDKozB3cT5HBJSkO7e6+biFNnd
m1+dMSwGTWca5M1vGWdC1a50MpkU09aaUvhqFsbfC6SlIrmoEcx8lcj0FdEVZl4X
uYxKdufjmnaRrCS5qZ21uYFdX3L7kb13+Gm/o79Buf1aswUy1rkD/W3GSzOiuLwq
OhuTrsTUeOB/0hVW0vxfy7FzqmAVMi/RId80qZwj6o7w24Q32HZcWOGmfCQusoS1
qR3O16XwLZBstlsFNczd7LwBm+b/fXR+q08Df1aPETdYqTo70Q8VtVyJbXiqooIn
bLK98lrtJ2CPeuT3Y8ec8wlomcUEsOhFcy1ej+Aj+8QvDU3NFujD5Jt3geekQXMt
7AXodxK3mw08ld0vZ2iRXtKNMDn02MxyL4lNwtr7ZvO45EF8ajeBTVXJd5cbasY0
iDHPH0fkBfazafPkSIB6G/k5W2h
j/pyoOeqTfRpn1UO4dWJ+3oI0nOgjFWIwT9Z2yCgBPLExpnkRi2JcXUujbwLmuMV
SViMvDBSn1BdDttMyyQ9zanX33uKZslMBJ0YOErj045mT1lf6xqwkZL7YJZrUEq+
IymFKTFU65LnJqa2PyCxq6kMp2vqIu6e+/j6usgEHQ09n9SnWX2FKIPHgpr0z4zO
f933LNB/SMykLUK30Lwv1ObaT5CGsvpnlL1foIUR15mk5rFUxeSgru1VWtrpnDi0
xKtRFOK9JvKnSn/92Xmyaxikaqa9EmCgM78MjaoNEYozVem73ktIvrpFWnsXlbk/
jvQPvfN6fRMQd/nbwH6+m6+Cbp608FUC4mypg3Dq7TR3kRfmzcGlYA6V7er9aP4a
Cw3EIEs8ytJdb6dR2lfp6AZ9v9KfZxbBHcpXmBscz1sBo1kIbRZduuwlzlywOpB1
HCSAoU1BGNWroNWvqAmcfBvlMD4Z5k2aIzF+iJI0vpVJzhxzF04JKaderS3+RIQe
Ea+o5rqfTqMhvrAUH7Ca5OiGcQ15ZSFNi+3T8HplvaRW7Rn0rDZWPfKgnG1TUXr2
81PkDMUesLaJHJ5oao0hFQ==
-----END ENCRYPTED PRIVATE KEY-----)rawliteral";
const char *pass = "MyPass";

void setup() {
Serial.begin(115200);
delay(500);

esp_wifi_sta_wpa2_ent_clear_ca_cert();
esp_wifi_sta_wpa2_ent_clear_cert_key();
esp_wifi_sta_wpa2_ent_clear_identity();

Serial.println();
Serial.print("Connecting to network: ");
Serial.println(ssid);
WiFi.disconnect(true); //disconnect form wifi to set new wifi connection
WiFi.mode(WIFI_STA);

Serial.print("Mac ADD:\t"); Serial.println(WiFi.macAddress());

Serial.print("CA "); Serial.println(esp_err_to_name(esp_wifi_sta_wpa2_ent_set_ca_cert((uint8_t *)ca, strlen(ca))));
Serial.print("SERV "); Serial.println(esp_err_to_name(esp_wifi_sta_wpa2_ent_set_cert_key((uint8_t *)srv, strlen(srv) , (uint8_t *)key, strlen(key), (uint8_t *)pass, strlen(pass))));
Serial.print("ID "); Serial.println(esp_err_to_name(esp_wifi_sta_wpa2_ent_set_identity((uint8_t *)id, strlen(id)))); //provide identity

esp_wpa2_config_t config = WPA2_CONFIG_INIT_DEFAULT(); //set config settings to default

Serial.print("Enable:\t"); Serial.println(esp_err_to_name( esp_wifi_sta_wpa2_ent_enable(&config))); //set config settings to enable function

delay(1000);
Serial.print("ESP Connection "); Serial.println(WiFi.begin(ssid)); //connect to wifi);

while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());

}

void loop() {}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.