您可以使用政策設定裝置上的 Wi-Fi 網路。Android Management API 使用開放網路設定,也就是標準的 JSON 格式 這個模型最初是做為 Chromium 專案的一部分所開發詳情請參閱 規格 ,進一步瞭解「開放網路設定」。
如要在政策中加入「開放網路設定」,請設定
是 openNetworkConfiguration
欄位
Policy
資源。
針對完全受管理的裝置,您可以選擇避免使用者手動
在裝置上將 wifiConfigDisabled
設為
true
的
Policy
敬上
資源。
支援的功能
Android Management API 僅支援部分開放網路 設定規格。
- 頂層物件:
Type
必須省略或設為UnencryptedConfiguration
。由於沒有 您需要將政策中的網路設定加密,因為 整個政策都會在 Android Management API 服務中加密。 此外,機密性還有第二層加密 例如通關密語和私密金鑰
NetworkConfiguration
物件:GUID
、Name
、Type
和WiFi
所有支援的欄位,均為必填。ProxySettings
是選用欄位。使用這個引數時 支援Manual
和PAC
(Proxy 自動設定)。- 「
Type
」必須設為「WiFi
」。其他類型的網路則不在支援範圍內。
WiFi
物件:- 不支援「
AllowGatewayARPPolling
」。 - 不支援「
SignalStrength
」。 Security
為必要項目,且支援下列值: - 無 - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192- 如果是
WEP-PSK
通關密語,必須是 40 位元 (10 位數) 或 104 位元 (26 位數) 系統支援通關密語。 - 根據規格,
WEP-PSK
通關密語必須以 前置字串為0x
。不過,為了與 Android 架構保持一致, 不必輸入前置字元。 - 如要設定 MAC 隨機化模式,請使用
MACAddressRandomizationMode
屬性 值為Hardware
或Automatic
。這個房源目前 不適用於開放網路設定 (ONC) 規格 ,但是在 AMAPI 中提供,可以在設定 WiFi 網路時指定。這項設定僅適用於 Android 13 以上版本的所有管理模式。Hardware
會在連線至網路時使用原廠 MAC 位址。Automatic
可讓 Wi-Fi 架構自動決定 MAC 隨機化策略可以是永久性或非永久性兩者的資料。 隨機產生的 MAC 位址,用來連線至 網路。
- 不支援「
EAP
物件:- 不支援「
ClientCertPattern
」。 - 不支援「
SaveCredentials
」。 - 不支援「
UseSystemCAs
」。 - 支援
DomainSuffixMatch
。
沒有這個欄位 (或空白) 的企業無線設定 清單視為值) 並遭到平台拒絕。 值應為有效的網域名稱 (例如「example.com」 「subdomain.example.com」)。 ClientCertType
支援下列值:Ref
、KeyPairAlias
Inner
支援下列值:MSCHAPv2
、PAP
Outer
支援下列值:EAP-AKA
、EAP-TLS
、EAP-TTLS
、EAP-SIM
、PEAP
- 不支援「
Certificate
物件:- 我們不支援
Remove
。在設定中省略憑證 。 - 不支援「
TrustBits
」。
- 我們不支援
範例
多個 Wi-Fi 網路
這個政策片段範例顯示三個已設定
同時使用不同的安全配置「開放網路設定」JSON 內嵌在
確認 Deployment 的 openNetworkConfiguration
欄位
Policy
JSON 檔案。
"openNetworkConfiguration": { "NetworkConfigurations": [{ "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "Security": "None", "AutoConnect": true } }, { "GUID": "b", "Name": "Example B", "Type": "WiFi", "WiFi": { "SSID": "Example B", "Security": "WEP-PSK", "Passphrase": "1234567890" } }, { "GUID": "c", "Name": "Example C", "Type": "WiFi", "WiFi": { "SSID": "Example C", "Security": "WPA-PSK", "Passphrase": "baseball" } }, "GUID": "networkA", "Name": "networkA", "Type": "WiFi", "WiFi": { "SSID": "networkA", "Security": "WPA-PSK", "Passphrase": "pwd1234567", "MACAddressRandomizationMode":"Hardware" } }] }
EAP 驗證
這個政策片段範例顯示採用 EAP-TLS 設定的無線網路
驗證。除了 NetworkConfigurations
物件之外,範例
包含兩個用於用戶端和伺服器憑證的 Certificates
物件。
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "DomainSuffixMatch": [ "example.com", "example.org" ], "ServerCARef": "abc123", "ClientCertType": "Ref", "ClientCertRef": "xyz456" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }
ClientCertType
欄位也可設為 KeyPairAlias
,且
ClientCertKeyPairAlias
欄位可以用來指定已安裝的別名
(請參閱
DevicePolicyManager.installKeyPair
。
)
或已產生 (詳情請參閱
DevicePolicyManager.generateKeyPair
) 用於 Wi-Fi 驗證的 KeyChain 金鑰組。Android 12 和
上述的 KeyChain 金鑰組,均已指定別名
已授予 ClientCertKeyPairAlias
驗證 Wi-Fi 網路的權限,且目前執行個體為
用於驗證對應的 Wi-Fi 網路。在 Android 12 以下版本中,
nonComplianceDetail
敬上
同時
API_LEVEL
。
原因。A 罩杯
nonComplianceDetail
敬上
同時
INVALID_VALUE
。
原因和
ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY
指定的金鑰組別名未對應至特定金鑰時,將回報特定原因
現有金鑰以下是政策示例:
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "DomainSuffixMatch": [ "example.com", "example.org" ], "ServerCARef": "abc123", "ClientCertType": "KeyPairAlias", "ClientCertKeyPairAlias": "key-alias" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" } ] }
Security
欄位也可以是 WPA3-Enterprise_192
為 WPA-EAP
網路設定為 WPA3 192 位元模式。
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "Type": "WiFi", "Name": "Example A", "GUID": "A", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "ServerCARef": "abc123", "ClientCertType": "Ref", "ClientCertRef": "xyz456", "DomainSuffixMatch": ["example.com"] }, "Security": "WPA3-Enterprise_192", "AutoConnect": true } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }