Passpoint (Hotspot 2.0)

Passpoint to protokół Wi-Fi Alliance (WFA), który umożliwia urządzeniom mobilnym wykrywanie hotspotów Wi-Fi zapewniających dostęp do internetu i uwierzytelnianie w nich.

Pomoc dotycząca urządzenia

Aby obsługiwać Passpoint, producenci urządzeń muszą wdrożyć interfejs Supplicant. Począwszy od Androida 13 interfejs używa AIDL do definicji HAL. W przypadku wersji starszych niż Android 13 interfejsy i partycje dostawców używają HIDL. Pliki HIDL znajdują się w lokalizacji hardware/interfaces/supplicant/1.x, a pliki AIDL w języku hardware/interfaces/supplicant/aidl. Dostawca zapewnia obsługę standardu 802.11u, a w szczególności funkcje wykrywania i wybierania sieci, takie jak usługa GAS i Access Network Query Protocol (ANQP).

Implementacja

Android 11 lub nowszy

Aby umożliwić obsługę Passpoint na urządzeniach z Androidem 11 lub nowszym, producenci urządzeń muszą zapewnić obsługę oprogramowania układowego w standardzie 802.11u. Wszystkie inne wymagania dotyczące obsługi Passpoint są uwzględnione w AOSP.

Android 10 lub starszy

W przypadku urządzeń z Androidem 10 lub starszym producenci muszą zapewnić obsługę zarówno w zakresie platformy, jak i HAL/oprogramowania układowego:

  • Struktura: włączanie Passpoint (wymaga flagi funkcji)
  • Oprogramowanie: obsługa standardu 802.11u

Aby obsługiwać Passpoint, zaimplementuj HAL Wi-Fi i włącz flagę funkcji dla Passpoint. W regionie device.mk w regionie device/<oem>/<device> zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES, aby uwzględnić obsługę funkcji Passpoint:

PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml

Wszystkie inne wymagania dotyczące obsługi Passpoint są uwzględnione w AOSP.

Weryfikacja

Aby sprawdzić poprawność implementacji funkcji Passpoint, użyj zestawu testów jednostkowych i testów integracji dostępnych w pakiecie Android Comms Test Suite (ACTS).

Testy jednostkowe

Uruchom wymienione poniżej testy jednostkowe pakietów Passpoint.

Testy usługi:

atest com.android.server.wifi.hotspot2

Testy menedżera:

atest android.net.wifi.hotspot2

Testy integracji (ACTS)

Pakiet testów ACTS Passpoint w lokalizacji tools/test/connectivity/acts_tests/tests/google/wifi/WifiPasspointTest.py wdraża zestaw testów funkcjonalnych.

Udostępnianie Passpoint R1

Android obsługuje Passpoint R1 od Androida 6.0, co umożliwia udostępnianie danych logowania Passpoint R1 (wersja 1) przez pobieranie przez internet specjalnego pliku zawierającego informacje o profilu i danych logowania. Klient automatycznie uruchamia specjalny instalator z informacjami o sieci Wi-Fi i pozwala użytkownikowi przejrzeć te informacje przed zaakceptowaniem lub odrzuceniem treści.

Informacje o profilu zawarte w pliku są używane do dopasowywania do danych pobieranych z punktów dostępu obsługujących Passpoint, a dane logowania są automatycznie stosowane w każdej dopasowanej sieci.

Implementacja referencyjna Androida obsługuje EAP-TTLS, EAP-TLS, EAP-SIM, EAP-AKA i EAP-AKA”.

Mechanizm pobierania

Plik konfiguracji Passpoint musi być hostowany na serwerze WWW i powinien być chroniony przy użyciu protokołu TLS (HTTPS), ponieważ może zawierać hasło w formie zwykłego tekstu lub dane klucza prywatnego. Treść składa się z opakowanego wieloczęściowego tekstu MIME zapisanego w standardzie UTF-8 i zakodowanego w standardzie base64 zgodnie z sekcją 6.8 standardu RFC-2045.

Te pola nagłówka HTTP są używane przez klienta do automatycznego uruchamiania instalatora Wi-Fi na urządzeniu:

  • Pole Content-Type musi mieć wartość application/x-wifi-config.
  • Pole Content-Transfer-Encoding musi mieć wartość base64.
  • Pole Content-Disposition nie może być ustawione.

Do pobierania pliku należy użyć metody HTTP GET. Za każdym razem, gdy żądanie HTTP GET z przeglądarki otrzyma odpowiedź z tymi nagłówkami MIME, uruchamiana jest aplikacja instalacyjna. Pobieranie musi zostać wywołane przez kliknięcie elementu HTML, np. przycisku (automatyczne przekierowania do adresu URL pobierania nie są obsługiwane). To zachowanie typowe dla Google Chrome. Inne przeglądarki mogą mieć podobne funkcje, ale nie muszą.

Kompozycja pliku

Zawartość zakodowana w Base64 musi zawierać wieloczęściową treść MIME z parametrem Content-Type o wartości multipart/mixed. Kolejne części składają się na poszczególne części wieloczęściowej treści.

Część Typ treści (mniej cudzysłowów) Wymagany Opis
Profil application/x-passpoint-profile Zawsze Ładunek w formacie OMA-DM SyncML zawierający dane mobilne w formacie Passpoint R1 PerProviderSubscription dla HomeSP i Credential.
Certyfikat zaufania application/x-x509-ca-cert Wymagane w przypadku protokołów EAP-TLS i EAP-TTLS Pojedynczy ładunek certyfikatu X.509v3 zakodowany w formacie base64.
Klucz EAP-TLS application/x-pkcs12 Wymagane w przypadku protokołu EAP-TLS Struktura PKCS #12 ASN.1 zakodowana w base64 zawierająca łańcuch certyfikatów klienta z co najmniej certyfikatem klienta i powiązanym kluczem prywatnym. Kontener PKCS 12, klucz prywatny i certyfikaty muszą być zapisane zwykłym tekstem bez hasła.

Sekcja Profil musi być przesyłana jako zakodowany w base64 i zakodowany w UTF-8 tekst XML określający części drzew podrzędnych HomeSP i Credential w specyfikacji technicznej Passpoint R2 w wersji 1.0.0, sekcji 9.1.

Węzeł najwyższego poziomu musi być typu MgmtTree, a bezpośrednim węzłem podrzędnym musi być PerProviderSubscription. Przykładowy plik XML znajdziesz w przykładowym profilu OMA-DM XML.

W HomeSP używane są te węzły podrzędne:

  • FriendlyName: musi być ustawiony; jest używany jako wyświetlany tekst;
  • FQDN: wymagany
  • RoamingConsortiumOI

W Credential używane są te węzły podrzędne:

  • Realm: nie może być pustym ciągiem znaków
  • UsernamePassword: wymagany w przypadku EAP-TTLS z tymi węzłami:

    • Username: ciąg znaków zawierający nazwę użytkownika.
    • Password: ciąg zakodowany w standardzie Base64 (ustawiony na cGFzc3dvcmQ=, czyli ciąg znaków zakodowany w standardzie base64 jako „hasło” w przykładzie poniżej)
    • EAPMethod/EAPType: musi mieć wartość 21
    • EAPMethod/InnerMethod: musi mieć wartość PAP, CHAP, MS-CHAP lub MS-CHAP-V2
  • DigitalCertificate: wymagany w przypadku sieci EAP-TLS. Musisz ustawić te węzły:

    • W zakresie CertificateType ustawiono formułę x509v3
    • CertSHA256Fingerprint ma ustawiony prawidłowy skrót SHA-256 certyfikatu klienta w sekcji MIME klucza EAP-TLS
  • SIM: wymagany w przypadku sieci EAP-SIM, EAP-AKA i EAP-AKA. W polu EAPType należy ustawić odpowiedni typ EAP, a IMSI musi być zgodny z numerem IMSI jednej z kart SIM zainstalowanych w urządzeniu w momencie obsługi administracyjnej. Ciąg IMSI może składać się wyłącznie z cyfr w celu wymuszenia pełnej równości lub może składać się z 5 lub 6 cyfr, po których występuje gwiazdka (*), aby złagodzić dopasowanie IMSI tylko do MCK/MNC. Na przykład ciąg IMSI 123456* pasuje do każdej karty SIM z numerem MCK 123 i MNC na 456.

Android 11 wprowadza funkcje, które zwiększają elastyczność udostępniania protokołu Passpoint R1.

Oddzielna nazwa domeny do uwierzytelniania, autoryzacji i księgowości (AAA)

Administratorzy sieci Passpoint, którzy wymagają podania nazwy domeny AAA określonej niezależnie od pełnej i jednoznacznej nazwy domeny (FQDN) rozgłaszanej przez sieć przy użyciu protokołu Access Network Query Protocol (ANQP), mogą podać listę rozdzielonych średnikami nazw domen w nowym węźle w poddrzewie Extension. To węzeł opcjonalny, a urządzenia z Androidem w wersji 10 lub starszej ignorują ten węzeł.

  • Android: drzewo rozszerzenia na Androida

    • AAAServerTrustedNames: wymagany w przypadku zaufanych nazw serwera AAA z tymi węzłami:

      • FQDN: ciąg znaków zawierający zaufane nazwy serwera AAA. Rozdzielaj zaufane nazwy średnikami. Przykład: example.org;example.com.
Samodzielnie podpisane prywatne główne urzędy certyfikacji
Administratorzy sieci punktów dostępu, którzy wewnętrznie zarządzają certyfikatami, mogą udostępniać profile z prywatnym, samodzielnie podpisanym urzędem certyfikacji na potrzeby uwierzytelniania AAA.
Zezwalaj na instalowanie profili bez głównego certyfikatu CA
Certyfikat głównego urzędu certyfikacji dołączony do profilu jest używany do uwierzytelniania serwera AAA. Administratorzy sieci punktów dostępu, którzy chcą polegać na publicznych, zaufanych głównych urzędach certyfikacji na potrzeby uwierzytelniania na serwerze AAA, mogą udostępniać profile bez certyfikatu głównego urzędu certyfikacji. W takim przypadku system porównuje certyfikaty serwera AAA z publicznymi certyfikatami głównego urzędu certyfikacji zainstalowanymi w magazynie zaufania.

Udostępnianie Passpoint R2

W Androidzie 10 wprowadzono obsługę funkcji Passpoint R2. Passpoint R2 wdraża rejestrację online – standardową metodę udostępniania nowych profili Passpoint. Android 10 i nowsze wersje obsługują obsługę profili EAP-TTLS z wykorzystaniem protokołu SOAP-XML zamiast otwartego OSU ESS.

Obsługiwane funkcje Passpoint R2 wymagają tylko kodu referencyjnego AOSP (nie jest wymagana dodatkowa obsługa sterowników ani oprogramowania). Kod referencyjny AOSP zawiera też domyślną implementację interfejsu użytkownika Passpoint R2 w aplikacji Ustawienia.

Gdy Android wykryje punkt dostępu Passpoint R2, platforma Androida:

  1. Wyświetla w selektorze Wi-Fi listę dostawców usług reklamowanych przez punkt dostępu (oprócz identyfikatorów SSID).
  2. Zawiera prośbę o wybranie jednego z dostawców usług w celu skonfigurowania profilu Passpoint.
  3. Prowadzi użytkownika przez proces konfiguracji profilu Passpoint.
  4. Po pomyślnym ukończeniu instaluje utworzony profil Passpoint.
  5. Tworzy powiązanie z siecią Passpoint przy użyciu nowo udostępnionego profilu Passpoint.

Funkcje Passpoint R3

Android 12 wprowadza te funkcje Passpoint R3, które zwiększają wygodę użytkowników i umożliwiają sieciom zachowanie zgodności z lokalnymi przepisami:

Warunki usługi

Zaakceptowanie warunków korzystania z usługi jest prawnie wymagane w niektórych lokalizacjach i obszarach, aby zapewnić dostęp do sieci. Ta funkcja pozwala wdrożeniam sieciowym zastąpić niezabezpieczone portale przechwytujące, które korzystają z sieci otwartych, bezpieczną siecią Passpoint. Gdy wymagane jest zaakceptowanie warunków korzystania z usługi, wyświetla się użytkownikowi powiadomienie.

Adres URL warunków korzystania z usługi musi wskazywać bezpieczną witrynę za pomocą protokołu HTTPS. Jeśli adres URL wskazuje niezabezpieczoną witrynę, platforma natychmiast rozłącza się i blokuje sieć.

Adres URL informacji o miejscu

Umożliwia operatorom sieci i obiektom przekazywanie użytkownikom dodatkowych informacji, takich jak mapy obiektów, katalogi, promocje i kupony. Po nawiązaniu połączenia z siecią użytkownik zobaczy powiadomienie.

Adres URL informacji o miejscu musi wskazywać bezpieczną witrynę za pomocą protokołu HTTPS. Jeśli adres URL wskazuje niezabezpieczoną witrynę, platforma go zignoruje i nie wyświetli powiadomienia.

Inne funkcje Passpoint

Android 11 wprowadza poniższe funkcje Passpoint, które zwiększają wygodę użytkowników, zużycie energii i elastyczność wdrażania.

Egzekwowanie daty ważności i powiadomienia
Wymuszanie dat ważności profili pozwala platformie uniknąć automatycznego łączenia z punktami dostępu z wygasłymi danymi logowania, które prawdopodobnie przestaną działać. Zapobiega to wykorzystaniu czasu powietrznego oraz oszczędza baterię i zmniejsza przepustowość backendu. Platforma wyświetla użytkownikowi powiadomienie, gdy sieć pasująca do profilu znajduje się w zasięgu, a profil wygasł.
Wiele profili z identyczną pełną i jednoznaczną nazwą domeny
Operatorzy, którzy wdrażają sieci Passpoint i używają wielu identyfikatorów publicznych lądowych sieci komórkowych (PLMN), mogą udostępnić wiele profili Passpoint z tą samą pełną i jednoznaczną nazwą, po jednym dla każdego identyfikatora PLMN, który jest automatycznie dopasowywany do zainstalowanej karty SIM i używany do łączenia się z siecią.

Android 12 wprowadza poniższe funkcje Passpoint, które zwiększają wygodę użytkowników, zużycie energii i elastyczność wdrażania:

Prefiks dekorowanej tożsamości
Podczas uwierzytelniania w sieciach z ozdobnym prefiksem ozdobiony prefiks tożsamości umożliwia operatorom sieci aktualizowanie identyfikatora dostępu do sieci (NAI) w celu przeprowadzenia jednoznacznego routingu przez wiele serwerów proxy w sieci AAA (patrz RFC 7542). Android 12 implementuje tę funkcję zgodnie ze specyfikacją WBA dotyczącymi rozszerzeń PPS-MO.
Natychmiastowa obsługa cofnięcia uwierzytelnienia
Umożliwia operatorom sieci sygnalizowanie urządzeniu, że usługa jest niedostępna w przypadku danych logowania używanych do uwierzytelniania w sieci przez określony czas (określony za pomocą opóźnienia). Po otrzymaniu tego sygnału urządzenia nie będą próbowały ponownie połączyć się z siecią przy użyciu tych samych danych logowania, dopóki nie upłynie czas oczekiwania. Urządzenia, które nie obsługują tej funkcji, mogą natomiast wielokrotnie próbować połączyć się z siecią, gdy usługa jest niedostępna.

Przykłady profili XML OMA-DM PerProviderSubscription-MO

Profil z danymi uwierzytelniającymi nazwę użytkownika i hasło (EAP-TTLS)

Poniższy przykład pokazuje profil sieci z:

  • Nazwa dostosowana do sieci ustawiono na Example Network
  • Pełna i jednoznaczna nazwa domeny została ustawiona na hotspot.example.net
  • Konsorcjum OIS w roamingu (na potrzeby roamingu)
  • Dane logowania z nazwą użytkownika user, hasłem password zakodowanym w formacie Base64, obszarem ustawionym na example.net
  • Metoda EAP ustawiona na 21 (EAP-TTLS)
  • Ustawiono wewnętrzną metodę fazy 2 na MS-CHAP-V2
  • Alternatywne nazwy domen AAA ustawione na trusted.com i trusted.net
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Example Network</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>hotspot.example.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>112233,445566</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>example.net</Value>
        </Node>
        <Node>
          <NodeName>UsernamePassword</NodeName>
          <Node>
            <NodeName>Username</NodeName>
            <Value>user</Value>
          </Node>
          <Node>
            <NodeName>Password</NodeName>
            <Value>cGFzc3dvcmQ=</Value>
          </Node>
          <Node>
            <NodeName>EAPMethod</NodeName>
            <Node>
              <NodeName>EAPType</NodeName>
              <Value>21</Value>
            </Node>
            <Node>
              <NodeName>InnerMethod</NodeName>
              <Value>MS-CHAP-V2</Value>
            </Node>
          </Node>
        </Node>
      </Node>
      <Node>
        <NodeName>Extension</NodeName>
        <Node>
            <NodeName>Android</NodeName>
            <Node>
                <NodeName>AAAServerTrustedNames</NodeName>
                <Node>
                    <NodeName>FQDN</NodeName>
                    <Value>trusted.com;trusted.net</Value>
                </Node>
            </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Profil z cyfrowym certyfikatem (EAP-TLS)

Poniższy przykład pokazuje profil sieci z:

  • Nazwa dostosowana do sieci ustawiono na GlobalRoaming
  • Pełna i jednoznaczna nazwa domeny została ustawiona na globalroaming.net
  • Konsorcjum OI (na potrzeby roamingu)
  • Obszar ustawiony na users.globalroaming.net
  • Dokument z certyfikatem cyfrowym z określonym odciskiem cyfrowym
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>GlobalRoaming</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>FFEEDDCC0,FFEEDDCC1,009999,008888</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>users.globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>DigitalCertificate</NodeName>
          <Node>
            <NodeName>CertificateType</NodeName>
            <Value>x509v3</Value>
          </Node>
          <Node>
            <NodeName>CertSHA256Fingerprint</NodeName>
            <Value>0ef08a3d2118700474ca51fa25dc5e6d3d63d779aaad8238b608a853761da533</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Profil z danymi logowania do karty SIM (EAP-AKA)

Poniższy przykład pokazuje profil sieci z:

  • Nazwa dostosowana do sieci ustawiono na Purple Passpoint
  • Pełna i jednoznaczna nazwa domeny została ustawiona na wlan.mnc888.mcc999.3gppnetwork.org
  • Dane logowania do karty SIM z identyfikatorem PLMN: 999888
  • Metoda EAP ustawiona na 23 (EAP-AKA)
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Purple Passpoint</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>purplewifi.com</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>wlan.mnc888.mcc999.3gppnetwork.org</Value>
        </Node>
        <Node>
          <NodeName>SIM</NodeName>
          <Node>
            <NodeName>IMSI</NodeName>
            <Value>999888*</Value>
          </Node>
          <Node>
            <NodeName>EAPType</NodeName>
            <Value>23</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Zalecenie dotyczące uwierzytelniania

Urządzenia z Androidem 8.x lub Androidem 9 z profilem EAP-SIM, EAP-SIM lub Passpoint R1, EAP-AKA lub EAP-AKA, nie będą automatycznie łączyć się z siecią Passpoint. Ten problem wpływa na użytkowników, operatorów i usługi przez zmniejszenie obciążenia sieci Wi-Fi.

Segment Wpływ Siła wpływu
Operatorzy i dostawcy usług Passpoint Zwiększone obciążenie sieci komórkowej. Dowolny operator korzystający z Passpoint R1.
Użytkownicy Niewykorzystana możliwość automatycznego połączenia z punktami dostępu Wi-Fi operatora, co spowodowało wzrost kosztów danych. Każdy użytkownik urządzenia działającego w sieci operatora obsługującego Passpoint R1.

Przyczyna niepowodzenia

Passpoint określa mechanizm dopasowywania rozgłaszanego dostawcy usług (ANQP) do profilu zainstalowanego na urządzeniu. Poniższe reguły dopasowania dla kart EAP-SIM, EAP-AKA i EAP-AKA to częściowy zestaw reguł dotyczących awarii EAP-SIM, AKA/AKA:

If the FQDN (Fully Qualified Domain Name) matches
    then the service is a Home Service Provider.
Else: If the PLMN ID (3GPP Network) matches
    then the service is a Roaming Service Provider.

Drugie kryterium zostało zmodyfikowane w Androidzie 8.0:

Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
    then the service is a Roaming Service Provider.

Po wprowadzeniu tej modyfikacji system nie wykrył dopasowania do działających wcześniej dostawców usług, więc urządzenia Passpoint nie połączyły się automatycznie.

Obejścia

Aby obejść problem zmodyfikowanych kryteriów dopasowania, operatorzy i dostawcy usług muszą dodać obszar identyfikatorów dostępu do sieci (NAI) do informacji publikowanych przez Passpoint AP.

Zalecane rozwiązanie to dla dostawców usług sieciowych wdrożenie obejścia po stronie sieci, które maksymalnie przyspieszy wdrożenie. Obejście problemu po stronie urządzenia zależy od tego, czy OEM pobierze listę zmian (CL) z AOSP, a potem zaktualizuje urządzenia w terenie.

Poprawka sieci dla operatorów i dostawców usługi Passpoint

Obejście po stronie sieci wymaga ponownego skonfigurowania sieci i dodania elementu ANQP obszaru NAI zgodnie z poniższym opisem. Specyfikacje Passpoint nie wymagają elementu ANQP obszaru NAI, ale dodanie tej właściwości jest zgodne ze specyfikacjami Passpoint, więc wdrożenia klienckie zgodne ze specyfikacją nie powinny działać.

  1. Dodaj element ANQP obszaru NAI.
  2. Ustaw pole podrzędne obszaru NAI tak, aby było zgodne z polem Realm profilu zainstalowanego na urządzeniu.
  3. Ustaw te informacje dla każdego typu EAP:

    • EAP-TTLS: ustaw EAPMethod(21) i obsługiwane typy uwierzytelniania wewnętrznego (PAP, CHAP, MS-CHAP lub MS-CHAP-V2)
    • EAP-TLS: ustaw EAPMethod(13)
    • EAP-SIM: ustaw EAPMethod(18)
    • EAP-AKA: Ustaw EAPMethod(23)
    • EAP-AKA': ustaw EAPMethod(50)

Poprawka dotycząca urządzenia/AOSP dla producentów OEM

Aby wdrożyć obejście po stronie urządzenia, OEM musi wybrać poprawkę CL aosp/718508. Tę poprawkę można stosować do tych wersji (nie dotyczy Androida 10 i nowszych):

  • Android 9
  • Android 8.x

Po pobraniu poprawki producenci OEM muszą zaktualizować urządzenia w terenie.