Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Для устройств под управлением Android 13 или выше Android поддерживает подход аутентификации Trust on First Use (TOFU) ( RFC7435 ), который позволяет пользователям доверять корпоративной сети (EAP), устанавливая корневой CA, используемый сервером, и задавая его доменное имя в сохраненной сети. TOFU позволяет устройству получать неаутентифицированный открытый ключ, когда пользователь впервые подключается к корпоративной сети, и сохранять ключ для последующих подключений.
Фон
По сравнению с персональными сетями, требующими только пароль, корпоративные сети используют аутентификацию инфраструктуры открытых ключей (PKI), которая требует от клиента предварительной установки сертификатов. В Android 11 или ниже пользователи могут выбрать опцию «Не проверять» для сертификата CA сервера в сетевых настройках, обходя проверку сертификата на стороне сервера. Однако для усиления безопасности и соответствия спецификации WPA R2 в Android 12 введено требование для корпоративных сетей иметь проверку сертификата сервера. Это дополнительное требование создало барьер для пользователей, поскольку им необходимо установить сертификат CA для таких сетей. TOFU предоставляет пользователям возможность подключаться к корпоративной сети на основе PKI, просто принимая ее корневой CA.
Поведение функции
Устройства, поддерживающие TOFU, демонстрируют следующее поведение, когда пользователь подключается к корпоративной сети, в которой еще не установлен аутентифицированный открытый ключ.
Подключитесь к новой сети с помощью средства выбора Wi-Fi
Выберите новую корпоративную сеть в меню выбора Wi-Fi.
Устройство отображает диалоговое окно (рисунок 1) для подтверждения того, является ли сеть доверенной.
Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.
Если нажать «Да, подключиться» , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоматическое подключение к сети.
Если нажать «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.
Рисунок 1. Диалоговое окно для функции TOFU
Подключитесь к существующей сети с включенной функцией автоподключения
При подключении к корпоративной сети, в которой включено автоматическое подключение, но отсутствует действительный сертификат CA, устройство подключается автоматически, а затем отображает закрепленное (неотключаемое) уведомление.
Нажмите на уведомление.
Устройство отображает диалоговое окно (рисунок 1) для подтверждения того, является ли сеть доверенной.
Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.
Если нажать «Да, подключиться» , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоматическое подключение к сети.
Если нажать «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.
Чтобы проверить реализацию TOFU на вашем устройстве, используйте следующие тесты:
CTS: CtsWifiTestCases
VTS: VtsHalWifiSupplicantStaNetworkTargetTest
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-09-02 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-09-02 UTC."],[],[],null,["For devices running Android 13 or higher, Android\nsupports the Trust on First Use (TOFU) authentication approach\n([RFC7435](https://datatracker.ietf.org/doc/html/rfc7435.html)),\nwhich lets users trust an enterprise (EAP) network by installing the root CA\nused by the server and setting its domain name in a saved network. TOFU allows\nthe device to obtain an unauthenticated public key when a user first connects\nto an enterprise network and retain the key for subsequent connections.\n\nBackground\n\nCompared to personal networks that just require a password, enterprise networks\nuse public key infrastructure (PKI) authentication, which requires the client\nto preinstall certificates. In Android 11 or lower, users can select the\n*Do not validate* option for the server CA certificate in the network settings,\nbypassing the validation of the server side certificate. However, to strengthen\nsecurity and comply with the WPA R2 specification, Android 12 introduced a\nrequirement for enterprise networks to have server certificate validation. This\nadditional requirement created a barrier for users as they need to install a CA\ncertificate for such networks. TOFU provides a way for users to connect to a\nPKI-based enterprise network by simply accepting its root CA.\n\nFeature behavior\n\nDevices that support TOFU display the following behavior when a user connects\nto an enterprise network that doesn't have an *already-installed*\nauthenticated public key.\n\nConnect to new network through Wi-Fi picker\n\n1. Select a new enterprise network in Wi-Fi picker.\n\n The device displays a dialog (Figure 1) to confirm whether the\n network is trusted.\n2. Tap **Yes, connect** to accept the network connection, or tap **No, don't\n connect** to decline.\n\n - If you tap **Yes, connect**, the device automatically configures the\n security parameters, connects to the network, and enables autoconnect\n for the network.\n\n | **Note:** Misconfigured networks that use invalid or expired certificates might not allow any security validation by the device. In such cases, the device fails to connect to the network.\n - If you tap **No, don't connect**, the device disconnects from the\n network and disables autoconnect for the network.\n\n **Figure 1.** Dialog for the TOFU feature\n\nConnect to existing network with autoconnect enabled\n\nWhen connecting to an enterprise network that has autoconnect enabled but\ndoesn't have a valid CA certificate, the device connects automatically, then\ndisplays a sticky (nondismissable) notification.\n\n1. Tap the notification.\n\n The device displays a dialog (Figure 1) to confirm whether the\n network is trusted.\n2. Tap **Yes, connect** to accept the network connection, or tap **No, don't\n connect** to decline.\n\n - If you tap **Yes, connect**, the device automatically configures the\n security parameters, connects to the network, and enables autoconnect\n for the network.\n\n | **Note:** Misconfigured networks that use invalid or expired certificates might not allow any security validation by the device. In such cases, the device fails to connect to the network.\n - If you tap **No, don't connect**, the device disconnects from the\n network and disables autoconnect for the network.\n\nImplementation\n\nTo support the TOFU feature, implement the supplicant HALs provided in the\nAndroid Open Source Project (AOSP) at\n[`/hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant`](https://cs.android.com/android/platform/superproject/+/android-latest-release:hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant).\n\nThe following public APIs are available in Android 13\nfor use by apps:\n\n- [`WifiManager#isTrustOnFirstUseSupported()`](https://developer.android.com/reference/android/net/wifi/WifiManager#isTrustOnFirstUseSupported()): Indicates whether the device supports TOFU.\n- [`WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)`](https://developer.android.com/reference/android/net/wifi/WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)): Enables TOFU.\n- [`WifiEnterpriseConfig#isTrustOnFirstUseEnabled()`](https://developer.android.com/reference/android/net/wifi/WifiEnterpriseConfig#isTrustOnFirstUseEnabled()): Indicates whether TOFU is enabled.\n\nValidation\n\nTo validate the implementation of TOFU on your device, use the following tests:\n\n- CTS: `CtsWifiTestCases`\n- VTS: `VtsHalWifiSupplicantStaNetworkTargetTest`"]]