EAP-TLS-hálózat beállítása egy alkalmazásban
EAP-TLS-t konfigurálhat magas szintű alkalmazásokban, vagy manuálisan, az sphere
parancsokkal. A hálózat konfigurálásához és csatlakoztatásához egy alkalmazás a Certstore és a WifiConfig API-kat használja.
Követelmények
EAP-TLS-hálózat konfigurálásához a magas szintű alkalmazásnak tartalmaznia kell a megfelelő fejlécfájlokat, engedélyeznie kell a szükséges képességeket az alkalmazásjegyzékben, és hozzáféréssel kell rendelkeznie a hitelesítéshez szükséges tanúsítványokhoz.
Fejlécfájlok
Az alkalmazásnak tartalmaznia kell a következő fejlécet:
#include <applibs/wificonfig.h>
Ha az alkalmazás meghívja a CertStore API-t a tanúsítványok kezeléséhez, annak tartalmaznia kell a CertStore fejlécet is. Ez a fejléc nem szükséges a Wi-FiConfig függvények, például a tanúsítványadatokat lekérő WifiConfig_GetRootCACertStoreIdentifier használatához.
#include <applibs/certstore.h>
Alkalmazásjegyzék
Az alkalmazásjegyzéknek engedélyeznie kell az EnterpriseWiFiConfig képességet egy EAP-TLS-hálózat beállításához. Emellett a Wi-FiConfig képesnek kell lennie olyan WifiConfig_* függvények használatára, amelyek nem kezelik az EAP-TLS szolgáltatásait. Végül, ha az alkalmazás a tanúsítványokat is kezeli, engedélyeznie kell a CertStore képességet.
Ne engedélyezze azokat a képességeket, amelyekre az alkalmazásnak nincs szüksége; ez biztonsági kockázatot jelent. Ha a tanúsítványokat manuálisan frissíti, ne adja meg a CertStore értéket. Ezt a képességet csak akkor használja, ha az alkalmazás feladata a tanúsítványok tárolása és kezelése az eszközön.
Az alábbi példa bemutatja, hogyan állíthatja be mindhárom képességet a app_manifest.json fájlban:
"Capabilities": {
"WifiConfig" : true,
"EnterpriseWiFiConfig" : true,
"CertStore" : true
}
Tanúsítványok
Az eszköz ügyféltanúsítványának elérhetőnek kell lennie az eszközön. Emellett ha az EAP-TLS-hálózat kölcsönös hitelesítésre van konfigurálva, a hálózat RADIUS-kiszolgálójának legfelső szintű hitelesítésszolgáltatói tanúsítványát is telepíteni kell az eszközön. Mindkét tanúsítványnak .pem formátumúnak kell lennie, PKCS1 vagy PKCS8 formátumban. A tanúsítványokról és azok beszerzésének módjáról az EAP-TLS-tanúsítvány beszerzését és üzembe helyezését ismertető cikkben olvashat.
Tanúsítványok telepítése
Mielőtt az alkalmazás beállíthat egy EAP-TLS-hálózatot, hozzáféréssel kell rendelkeznie a hitelesítéshez használandó legfelső szintű hitelesítésszolgáltatóhoz és ügyféltanúsítványokhoz. Az EAP-TLS-hálózatok tanúsítványainak beszerzése és üzembe helyezése ismerteti a tanúsítványok beszerzésének és az eszközökre PEM-fájlokként való betöltésének stratégiáit. A tanúsítványok beszerzése és üzembe helyezése az Ön felelőssége; a részletekért forduljon a hálózati rendszergazdához.
Miután a tanúsítványok az eszközön vannak, az alkalmazások telepíthetik azokat használatra. A Tanúsítványok minta bemutatja, hogyan telepítheti őket. Az alapvető lépések a következők:
Győződjön meg arról, hogy elegendő hely van a tanúsítványtárolóban. A tanúsítványtároló területe korlátozott, ezért az alkalmazásnak meg kell hívnia CertStore_GetAvailableSpace , mielőtt megpróbálna telepíteni egy tanúsítványt. Ha nem áll rendelkezésre elegendő hely, az alkalmazásnak törölnie kell egy meglévő tanúsítványt, hogy helyet biztosítsunk az újnak. A tanúsítványterület legfeljebb 24 KiB lehet.
A legfelső szintű hitelesítésszolgáltatói tanúsítvány telepítéséhez hívja meg a CertStore_InstallRootCACertificate. Az alkalmazás egy mutatót ad a tanúsítvány tartalmának, valamint egy azonosítót, amelyet később a tanúsítvány felhasználóbarát neveként használhat. A hitelesítésszolgáltatói főtanúsítványra akkor van szükség, ha a hálózat lehetővé teszi a kölcsönös hitelesítést. Az azonosítók tartalmazhatnak nagybetűket, kisbetűket, 0-9 számjegyet, pontot (.), kötőjelet (-) és aláhúzásjelet (_). Az azonosítók maximális hossza 16 karakter.
Ügyféltanúsítvány telepítéséhez hívja meg a CertStore_InstallClientCertificate. A legfelső szintű hitelesítésszolgáltatói tanúsítványhoz hasonlóan az alkalmazás egy mutatót is biztosít a tanúsítvány tartalmához, valamint egy azonosítót, amelyet később a tanúsítvány felhasználóbarát neveként használhat. Az alkalmazásnak meg kell adnia a titkos kulcsot is, és ha a kulcs titkosítva van, a titkosítási jelszót is meg kell adnia.
A tanúsítvány frissítéséhez az alkalmazás használhatja a CertStore_MoveCertificate függvényt. Ez a függvény úgy helyezi át az egyik tanúsítványt egy másikba, hogy felülírja egy meglévő céltanúsítvány tartalmát a forrástanúsítvány tartalmával. Mindkét tanúsítványnak telepítve kell lennie a tanúsítványtárolóban. A tanúsítványok életciklusa és megújítása stratégiákat vázol fel a tanúsítványok frissítéséhez a hálózati állásidő elkerülése mellett.
EAP-TLS-hálózat konfigurálása és beállítása
A Wifi_HighLevelApp minta bemutatja, hogyan hozhat létre, konfigurálhat és engedélyezhet egy EAP-TLS-hálózatot. A minta feltételezi, hogy a tanúsítványok már a tanúsítványtárolóban vannak, a Tanúsítványok telepítése szakaszban leírtak szerint.
A hálózat konfigurálásához és beállításához az alkalmazásnak az alábbi alapvető lépéseket kell követnie:
Adjon hozzá egy hálózatot a WifiConfig_AddNetwork meghívásával. Ez a függvény egyszerűen létrehoz egy hálózatot; nem konfigurálja a hálózat jellemzőit.
Állítsa be a hálózat biztonsági típusát a WifiConfig_SetSecurityType meghívásával. EAP-TLS-hálózat esetén a biztonsági típusnak a következőnek kell lennie
WifiConfig_Security_Wpa2_EAP_TLS
: .Állítsa be a hálózat SSID-jét a WifiConfig_SetSSID meghívásával. Ha az SSID még nem ismert, az alkalmazás megkeresheti. Ha a hálózati környezet valószínűleg zajos, vagy ha az SSID nem lesz közvetítve, az alkalmazásnak engedélyeznie kell a célzott vizsgálatot a WifiConfig_SetTargetedScanEnabled meghívásával. Ezután meghívhatja a WifiConfig_TriggerScanAndGetScannedNetworkCount , hogy megvizsgálja az összes hálózatot, és WifiConfig_GetScannedNetworks a vizsgálat eredményeinek lekéréséhez. WifiConfig_GetScannedNetworks az egyes hálózatokkal kapcsolatos adatokat tartalmazó struktúrák tömböt ad vissza. Az alkalmazás megkeresheti a biztonsági típussal rendelkező hálózat eredményeit, majd lekérheti annak
WifiConfig_Security_Wpa2_EAP_TLS
SSID-jét.Állítsa be a hálózat konfigurációs nevét a WifiConfig_SetConfigName meghívásával. A konfiguráció neve egy rövid név, amellyel az alkalmazás azonosíthatja ezt a hálózati konfigurációt.
Állítsa be a RADIUS-kiszolgáló legfelső szintű hitelesítésszolgáltatói tanúsítványának nevét a WifiConfig_SetRootCACertStoreIdentifier meghívásával, ha a hálózat kiszolgálóhitelesítést igényel. A legfelső szintű hitelesítésszolgáltatói tanúsítványnak már jelen kell lennie az eszközön.
Állítsa be az ügyféltanúsítvány-tároló nevét az WifiConfig_SetClientCertStoreIdentifier meghívásával. Az ügyféltanúsítványnak már jelen kell lennie az eszközön.
Állítsa be az ügyfélidentitást a WifiConfig_SetClientIdentity meghívásával. Az ügyfélidentitás egy felhasználóbarát név, amely azonosítja az ügyféleszközt.
Engedélyezze a hálózatot a WifiConfig_SetNetworkEnabled meghívásával.
Mentse a hálózati konfigurációt a WifiConfig_PersistConfig meghívásával. Ez a függvény menti a hálózati konfigurációt az eszközön, hogy újraindításkor is megmaradjon.
EAP-TLS-hálózat tulajdonságainak módosítása
Az alkalmazás úgy módosíthatja a hálózat tulajdonságait, hogy meghívja ugyanazokat a függvényeket, amelyeket eredetileg beállított, az EAP-TLS-hálózat konfigurálása és beállítása című szakaszban leírtak szerint.
A tulajdonságok módosítása után az alkalmazásnak nem csak WifiConfig_PersistConfig kell meghívnia a konfiguráció mentéséhez, hanem az WifiConfig_ReloadConfig is fel kell hívnia a hálózat azonnali frissítéséhez. Ez különösen akkor fontos, ha az alkalmazás frissít egy tanúsítványt.
EAP-TLS-hálózat törlése
Az alkalmazások WifiConfig_ForgetNetworkById vagy WifiConfig_ForgetAllNetworks meghívásával törölhetik a hálózatokat.
WifiConfig_ForgetNetworkById leválasztja a hálózatot, ha csatlakoztatva van, és eltávolítja az eszközről. Azonban nem frissíti a Wi-Fi konfigurációját, így a módosítás nem marad meg az újraindítás során. Az alkalmazásnak meg kell hívnia WifiConfig_PersistConfig az eltávolítás véglegesítéséhez.
WifiConfig_ForgetAllNetworks leválasztja a csatlakoztatott hálózatot, és eltávolítja az összes hálózatot az eszközről. Ez a módosítás az újraindítások között is megmarad.
Minták
- Tanúsítványok magas szintű alkalmazás – Bemutatja, hogyan használhatja és kezelheti a tanúsítványokat egy magas szintű Azure Sphere-alkalmazásban.
- Wifi_HighLevelApp – Bemutatja, hogyan csatlakozhat egy Wi-Fi hálózathoz, és hogyan ellenőrizheti a hálózati állapotot egy MT3620-eszközön.
Megjegyzés
Az alábbi minta az Azure Sphere Galériából származik, amely a Microsoft nem felügyelt szoftver- és hardvermintáinak gyűjteménye. További információ: Azure Sphere-galéria.
- EAP-TLS-megoldás az Azure Sphere-rel – Bemutatja, hogyan csatlakoztathat Azure Sphere-eszközöket EAP-TLS-hálózatokhoz.