Nastavení sítě EAP-TLS v aplikaci
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
Protokol EAP-TLS můžete nakonfigurovat v aplikaci vysoké úrovně nebo ručně pomocí příkazů azsphere. Ke konfiguraci a připojení k síti používá aplikace rozhraní API Certstore a WifiConfig .
Požadavky
Pokud chcete nakonfigurovat síť EAP-TLS, musí vaše aplikace vysoké úrovně obsahovat odpovídající soubory hlaviček, povolit požadované funkce v manifestu aplikace a mít přístup k certifikátům požadovaným pro ověření.
Soubory hlaviček
Aplikace musí obsahovat následující hlavičku:
#include <applibs/wificonfig.h>
Pokud aplikace volá rozhraní CertStore API pro správu certifikátů, musí obsahovat také hlavičku CertStore. Tato hlavička není nutná k používání funkcí WifiConfig , jako jsou WifiConfig_GetRootCACertStoreIdentifier , které načítají informace o certifikátu.
#include <applibs/certstore.h>
Manifest aplikace
Manifest aplikace musí povolit schopnost EnterpriseWiFiConfig nastavit síť EAP-TLS. Musí mít také možnost WifiConfig používat funkce WifiConfig_*, které nespravují funkce protokolu EAP-TLS. Pokud aplikace také spravuje certifikáty, musí povolit funkci CertStore.
Nepovolujte funkce, které aplikace nevyžaduje; představuje bezpečnostní riziko. Pokud se certifikáty aktualizují ručně, nezadávejte CertStore. Tuto funkci používejte jenom v případě, že aplikace zodpovídá za ukládání a správu certifikátů v zařízení.
Následující příklad ukazuje, jak nastavit všechny tři možnosti v souboru app_manifest.json:
"Capabilities": {
"WifiConfig" : true,
"EnterpriseWiFiConfig" : true,
"CertStore" : true
}
Certifikáty
Klientský certifikát pro vaše zařízení musí být na zařízení dostupný. Pokud je navíc síť EAP-TLS nakonfigurovaná pro vzájemné ověřování, musí být na zařízení nainstalovaný také certifikát kořenové certifikační autority pro server RADIUS vaší sítě. Oba certifikáty musí být ve formátu .pem, buď PKCS1, nebo PKCS8. Informace o certifikátech a jejich získání najdete v tématu Získání a nasazení certifikátu EAP-TLS a informace o tom, kde je získat.
Instalace certifikátů
Než bude vaše aplikace moct nastavit síť EAP-TLS, musí mít přístup ke kořenové certifikační autoritě a klientským certifikátům, které se mají použít k ověřování. Získání a nasazení certifikátů pro sítě EAP-TLS popisuje strategie pro získání certifikátů a jejich načtení do zařízení jako souborů PEM. Získání a nasazení certifikátů je vaší odpovědností; Podrobnosti získáte u správce sítě.
Jakmile jsou certifikáty na zařízení, může je aplikace nainstalovat pro použití. Ukázka certifikátů ukazuje, jak je nainstalovat. Toto jsou základní kroky:
Ujistěte se, že je v úložišti certifikátů dostatek místa. Místo v úložišti certifikátů je omezené, takže aplikace by měla volat CertStore_GetAvailableSpace předtím, než se pokusí nainstalovat certifikát. Pokud není k dispozici dostatek místa, aplikace by měla odstranit existující certifikát, aby se uvolnil prostor pro nový certifikát. Prostor certifikátu je omezený na 24 KiB.
Pokud chcete nainstalovat certifikát kořenové certifikační autority, zavolejte CertStore_InstallRootCACertificate. Aplikace poskytuje ukazatel na obsah certifikátu spolu s identifikátorem, který může později použít jako popisný název certifikátu. Pokud síť povolí vzájemné ověřování, vyžaduje se certifikát kořenové certifikační autority. Identifikátory můžou obsahovat velká písmena, malá písmena, číslice 0–9, tečku (.), spojovník (-) a podtržítko (_). Maximální délka identifikátoru je 16 znaků.
Pokud chcete nainstalovat klientský certifikát, zavolejte CertStore_InstallClientCertificate. Stejně jako u certifikátu kořenové certifikační autority poskytuje aplikace ukazatel na obsah certifikátu spolu s identifikátorem, který může později použít jako popisný název certifikátu. Aplikace musí také zadat privátní klíč a pokud je klíč zašifrovaný, šifrovací heslo.
K aktualizaci certifikátu může aplikace použít funkci CertStore_MoveCertificate. Tato funkce přesune jeden certifikát do druhého přepsáním obsahu existujícího cílového certifikátu obsahem zdrojového certifikátu. Oba certifikáty už musí být nainstalované v úložišti certifikátů. Životní cyklus certifikátů a obnovení popisují strategie aktualizace certifikátů a zároveň se vyhnete výpadkům sítě.
Konfigurace a nastavení sítě EAP-TLS
Ukázka Wifi_HighLevelApp ukazuje, jak vytvořit, nakonfigurovat a povolit síť EAP-TLS. Ukázka předpokládá, že certifikáty jsou již v úložišti certifikátů, jak je popsáno v části Instalace certifikátů.
Pokud chcete nakonfigurovat a nastavit síť, měla by aplikace postupovat podle těchto základních kroků:
Přidejte síť voláním WifiConfig_AddNetwork. Tato funkce jednoduše vytvoří síť; nenakonfiguruje žádné charakteristiky sítě.
Nastavte typ zabezpečení sítě voláním WifiConfig_SetSecurityType. Pro síť EAP-TLS musí být
WifiConfig_Security_Wpa2_EAP_TLS
typ zabezpečení .Nastavte SSID sítě voláním WifiConfig_SetSSID. Pokud identifikátor SSID ještě není známý, aplikace ji může vyhledat. Pokud je pravděpodobné, že síťové prostředí bude hlučné nebo pokud SSID nemusí být vysílané, měla by aplikace povolit cílené prohledávání voláním WifiConfig_SetTargetedScanEnabled. Potom může zavolat WifiConfig_TriggerScanAndGetScannedNetworkCount vyhledat všechny sítě a WifiConfig_GetScannedNetworks získat výsledky kontroly. WifiConfig_GetScannedNetworks vrátí pole struktur, které obsahují podrobnosti o každé síti. Aplikace může vyhledat výsledky sítě s
WifiConfig_Security_Wpa2_EAP_TLS
typem zabezpečení a pak načíst SSID.Nastavte název konfigurace sítě voláním WifiConfig_SetConfigName. Název konfigurace je popisný název, který může aplikace použít k identifikaci této konfigurace sítě.
Pokud síť vyžaduje ověření serveru, nastavte název certifikátu kořenové certifikační autority pro server RADIUS voláním WifiConfig_SetRootCACertStoreIdentifier. Kořenový certifikát certifikační autority už musí být na zařízení.
Nastavte název úložiště klientských certifikátů voláním WifiConfig_SetClientCertStoreIdentifier. Klientský certifikát už musí být na zařízení.
Nastavte identitu klienta voláním WifiConfig_SetClientIdentity. Identita klienta je popisný název, který identifikuje klientské zařízení.
Povolte síť voláním WifiConfig_SetNetworkEnabled.
Uložte konfiguraci sítě voláním WifiConfig_PersistConfig. Tato funkce uloží konfiguraci sítě na zařízení, aby se zachovala po restartování.
Změna vlastností sítě EAP-TLS
Aplikace může změnit vlastnosti sítě voláním stejných funkcí, které jste původně nastavili, jak je uvedeno v části Konfigurace a nastavení sítě EAP-TLS.
Po změně vlastností musí aplikace volat nejen WifiConfig_PersistConfig pro uložení konfigurace, ale také musí volat WifiConfig_ReloadConfig , aby se síť okamžitě aktualizovala. To je zvlášť důležité, když aplikace aktualizuje certifikát.
Odstranění sítě EAP-TLS
Aplikace může síť odstranit voláním WifiConfig_ForgetNetworkById nebo WifiConfig_ForgetAllNetworks.
WifiConfig_ForgetNetworkById odpojit síť, pokud je připojená a odebere ji ze zařízení. Neaktualizuje ale konfiguraci Wi-Fi, takže změna se při restartování nezachová. Aplikace musí volat WifiConfig_PersistConfig , aby byla odebrání trvalá.
WifiConfig_ForgetAllNetworks odpojí připojenou síť a odebere ze zařízení všechny sítě. Tato změna se zachová v rámci restartování.
Ukázky
- Aplikace vysoké úrovně certifikátů – Ukazuje, jak používat a spravovat certifikáty v aplikaci vysoké úrovně Azure Sphere.
- Wifi_HighLevelApp – Ukazuje, jak se připojit k síti Wi-Fi a zkontrolovat stav sítě na zařízení MT3620.
Poznámka:
Následující ukázka pochází z galerie Azure Sphere, což je kolekce nepotřebných softwarových a hardwarových ukázek od Microsoftu. Další informace najdete v galerii Azure Sphere.
- Řešení EAP-TLS s Azure Sphere – Ukazuje, jak připojit zařízení Azure Sphere k sítím EAP-TLS.