Sdílet prostřednictvím


Nastavení sítě EAP-TLS v aplikaci

Protokol EAP-TLS můžete nakonfigurovat v aplikaci vysoké úrovně nebo ručně pomocí az sphere příkazů. 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í aplikace vysoké úrovně obsahovat příslušné soubory hlaviček, povolit požadované funkce v manifestu aplikace a mít přístup k certifikátům, které jsou potřeba pro ověřování.

Soubory hlaviček

Vaše aplikace musí obsahovat následující hlavičku:

#include <applibs/wificonfig.h>

Pokud aplikace volá rozhraní API CertStore pro správu certifikátů, musí obsahovat také hlavičku CertStore. Tato hlavička není nutná k použití funkcí WifiConfig , jako jsou WifiConfig_GetRootCACertStoreIdentifier , které načítají informace o certifikátu.

#include <applibs/certstore.h>

Manifest aplikace

Manifest aplikace musí povolit funkci EnterpriseWiFiConfig pro nastavení sítě 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. to představuje bezpečnostní riziko. Pokud budou certifikáty aktualizovány ručně, nezadávejte CertStore. Tuto funkci použijte jenom v případě, že aplikace zodpovídá za ukládání a správu certifikátů na zařízení.

Následující příklad ukazuje, jak nastavit všechny tři funkce 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 umístění najdete v tématu Získání a nasazení certifikátu EAP-TLS .

Instalace certifikátů

Aby vaše aplikace mohl 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 získání certifikátů a jejich načtení do zařízení jako souborů PEM. Za získání a nasazení certifikátů zodpovídáte vy. Podrobnosti získáte u správce sítě.

Jakmile jsou certifikáty v zařízení, může je aplikace nainstalovat pro použití. Ukázka certifikátů ukazuje, jak je nainstalovat. Níže jsou uvedené 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 před pokusem o instalaci certifikátu volat CertStore_GetAvailableSpace . Pokud není k dispozici dostatek místa, měla by aplikace odstranit existující certifikát, aby uvolnila místo pro nový certifikát. Velikost certifikátu je omezená na 24 KiB.

  • Pokud chcete nainstalovat certifikát kořenové certifikační autority, zavolejte CertStore_InstallRootCACertificate. Aplikace poskytne ukazatel na obsah certifikátu spolu s identifikátorem, který může později použít jako popisný název certifikátu. Pokud síť umožňuje vzájemné ověřování, vyžaduje se certifikát kořenové certifikační autority. Identifikátory můžou zahrnovat 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 aplikace poskytne 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ý, heslo pro šifrování.

K aktualizaci certifikátu může aplikace použít funkci CertStore_MoveCertificate . Tato funkce přesune jeden certifikát do jiné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 a prodloužení platnosti certifikátu popisují strategie aktualizace certifikátů a zabránění 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 tématu 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. U sítě EAP-TLS musí být WifiConfig_Security_Wpa2_EAP_TLStyp zabezpečení .

  • Nastavte identifikátor SSID sítě voláním WifiConfig_SetSSID. Pokud identifikátor SSID ještě není známý, může ho aplikace vyhledat. Pokud je pravděpodobné, že síťové prostředí bude hlučné nebo pokud SSID nemusí být všesměrové vysílání, měla by aplikace povolit cílené vyhledávání voláním WifiConfig_SetTargetedScanEnabled. Pak může volat WifiConfig_TriggerScanAndGetScannedNetworkCount , aby prohledat všechny sítě a WifiConfig_GetScannedNetworks získat výsledky kontroly. WifiConfig_GetScannedNetworks vrátí pole struktur, které obsahují podrobnosti o jednotlivých sítích. Aplikace může vyhledat ve výsledcích síť s typem WifiConfig_Security_Wpa2_EAP_TLS zabezpečení a pak načíst její identifikátor SSID.

  • Nastavte název konfigurace sítě voláním WifiConfig_SetConfigName. Název konfigurace je popisný název, který aplikace může použít k identifikaci této konfigurace sítě.

  • Nastavte název certifikátu kořenové certifikační autority pro server RADIUS voláním WifiConfig_SetRootCACertStoreIdentifier, pokud síť vyžaduje ověření serveru. Certifikát kořenové 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ě do zařízení, aby se zachovala i 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 použili k jejich původnímu nastavení, jak je uvedeno v tématu Konfigurace a nastavení sítě EAP-TLS.

Po změně vlastností musí aplikace nejen volat WifiConfig_PersistConfig , aby konfiguraci uložila, ale musí také volat WifiConfig_ReloadConfig , aby síť okamžitě aktualizovala. To je obzvláště důležité, když aplikace aktualizuje certifikát.

Odstranění sítě EAP-TLS

Aplikace může odstranit síť voláním WifiConfig_ForgetNetworkById nebo WifiConfig_ForgetAllNetworks.

WifiConfig_ForgetNetworkById odpojí síť, pokud je připojená, a odebere ji ze zařízení. Neaktualizuje ale konfiguraci Wi-Fi, takže se tato změna během restartování nezachová. Aplikace musí volat WifiConfig_PersistConfig , aby bylo odebrání trvalé.

WifiConfig_ForgetAllNetworks odpojí připojenou síť a odebere ze zařízení všechny sítě. Tato změna přetrvává i po restartování.

Vzorky

Poznámka

Následující ukázka pochází z galerie Azure Sphere, což je kolekce ukázek neudržovaného softwaru a hardwaru od Microsoftu. Další informace najdete v galerii Azure Sphere.