1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-30 06:33:51 +00:00

WPA2 Enterprise - Explicitly set TTLS Phase 2 (#6436)

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
shxshxshxshx
2024-05-16 01:37:53 +02:00
committed by GitHub
parent 08509f7755
commit 2921831b55
5 changed files with 42 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ from esphome.const import (
CONF_KEY,
CONF_USERNAME,
CONF_EAP,
CONF_TTLS_PHASE_2,
CONF_ON_CONNECT,
CONF_ON_DISCONNECT,
)
@@ -98,6 +99,14 @@ STA_MANUAL_IP_SCHEMA = AP_MANUAL_IP_SCHEMA.extend(
}
)
TTLS_PHASE_2 = {
"pap": cg.global_ns.ESP_EAP_TTLS_PHASE2_PAP,
"chap": cg.global_ns.ESP_EAP_TTLS_PHASE2_CHAP,
"mschap": cg.global_ns.ESP_EAP_TTLS_PHASE2_MSCHAP,
"mschapv2": cg.global_ns.ESP_EAP_TTLS_PHASE2_MSCHAPV2,
"eap": cg.global_ns.ESP_EAP_TTLS_PHASE2_EAP,
}
EAP_AUTH_SCHEMA = cv.All(
cv.Schema(
{
@@ -105,6 +114,9 @@ EAP_AUTH_SCHEMA = cv.All(
cv.Optional(CONF_USERNAME): cv.string_strict,
cv.Optional(CONF_PASSWORD): cv.string_strict,
cv.Optional(CONF_CERTIFICATE_AUTHORITY): wpa2_eap.validate_certificate,
cv.Optional(CONF_TTLS_PHASE_2): cv.All(
cv.enum(TTLS_PHASE_2), cv.only_with_esp_idf
),
cv.Inclusive(
CONF_CERTIFICATE, "certificate_and_key"
): wpa2_eap.validate_certificate,
@@ -338,6 +350,7 @@ def eap_auth(config):
("ca_cert", ca_cert),
("client_cert", client_cert),
("client_key", key),
("ttls_phase_2", config.get(CONF_TTLS_PHASE_2, TTLS_PHASE_2["mschapv2"])),
)