Megosztás a következőn keresztül:


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.