डिवाइस पर वाई-फ़ाई नेटवर्क कॉन्फ़िगर करने के लिए, नीति का इस्तेमाल किया जा सकता है. Android मैनेजमेंट एपीआई, ओपन नेटवर्क कॉन्फ़िगरेशन का इस्तेमाल करता है. यह JSON पर आधारित एक मानक फ़ॉर्मैट है जिसे मूल रूप से Chromium प्रोजेक्ट के हिस्से के तौर पर बनाया गया था. देखें खास जानकारी देखें.
किसी नीति में ओपन नेटवर्क कॉन्फ़िगरेशन शामिल करने के लिए,
openNetworkConfiguration
फ़ील्ड में
Policy
संसाधन.
पूरी तरह से मैनेज किए जा रहे डिवाइसों के लिए, आपके पास उपयोगकर्ता को मैन्युअल तरीके से उपयोगकर्ता को ऐसा करने से रोकने का विकल्प होता है
wifiConfigDisabled
को इस पर सेट करके अपने डिवाइस पर वाई-फ़ाई सेटिंग कॉन्फ़िगर कर सकते हैं
true
Policy
संसाधन.
इस्तेमाल की जा सकने वाली सुविधाएं
Android Management API सिर्फ़ ओपन नेटवर्क के सबसेट के साथ काम करता है कॉन्फ़िगरेशन की जानकारी.
- टॉप-लेवल ऑब्जेक्ट:
Type
को छोड़ा जाना चाहिए याUnencryptedConfiguration
पर सेट किया जाना चाहिए. कोई नहीं को किसी नीति में नेटवर्क कॉन्फ़िगरेशन को एन्क्रिप्ट करना होगा, क्योंकि पूरी नीति को Android Management API सेवा में एन्क्रिप्ट (सुरक्षित) किया जाता है. इसके अलावा, संवेदनशील फ़ाइलों के लिए, एन्क्रिप्ट (सुरक्षित) करने की दूसरी लेयर का इस्तेमाल किया जाता है जानकारी जैसे कि लंबा पासवर्ड और निजी पासकोड.
NetworkConfiguration
ऑब्जेक्ट:GUID
,Name
,Type
, औरWiFi
इस्तेमाल किए जा सकते हैं और सभी ज़रूरी हैं.ProxySettings
फ़ील्ड का इस्तेमाल करना ज़रूरी नहीं है. अगर इसका इस्तेमाल किया जाता है, तो सिर्फ़Manual
औरPAC
(प्रॉक्सी अपने-आप कॉन्फ़िगरेशन) काम करते हैं.Type
कोWiFi
पर सेट किया जाना चाहिए. दूसरी तरह के नेटवर्क काम नहीं करते.
WiFi
ऑब्जेक्ट:AllowGatewayARPPolling
का इस्तेमाल नहीं किया जा सकता।SignalStrength
का इस्तेमाल नहीं किया जा सकता।Security
ज़रूरी है और ये वैल्यू इस्तेमाल की जा सकती हैं: - कोई नहीं - WEP-PSK - डब्ल्यूपीए-पीएसके - डब्ल्यूपीए-ईएपी - WEP-8021X - WPA3-Enterprise_192WEP-PSK
लंबे पासवर्ड के लिए, सिर्फ़ 40-बिट (10-अंकों) या 104-बिट (26-अंकों) लंबे पासवर्ड इस्तेमाल किए जा सकते हैं.- स्पेसिफ़िकेशन में बताया गया है कि
WEP-PSK
के लंबे पासवर्ड प्रीफ़िक्स0x
होना चाहिए. हालांकि, Android फ़्रेमवर्क के साथ तालमेल बनाए रखने के लिए, उपसर्ग की ज़रूरत नहीं है. - एमएसी रैंडमाइज़ेशन मोड सेट करने के लिए,
MACAddressRandomizationMode
प्रॉपर्टी का इस्तेमाल करेंHardware
याAutomatic
वैल्यू के साथ सेट करें. फ़िलहाल, यह प्रॉपर्टी उपलब्ध है ओपन नेटवर्क कॉन्फ़िगरेशन (ओएनसी) स्पेसिफ़िकेशन में यह जानकारी उपलब्ध नहीं है इसे AMAPI में उपलब्ध कराया जाता है. इसे वाई-फ़ाई नेटवर्क को कॉन्फ़िगर करते समय तय किया जा सकता है. यह सुविधा, सभी मैनेजमेंट मोड में सिर्फ़ Android 13 और उसके बाद के वर्शन वाले डिवाइसों पर लागू होती है.- नेटवर्क से कनेक्ट करते समय,
Hardware
फ़ैक्ट्री MAC पते का इस्तेमाल करता है. Automatic
की मदद से, वाई-फ़ाई फ़्रेमवर्क अपने-आप 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
का इस्तेमाल नहीं किया जा सकता।
उदाहरण
एक से ज़्यादा वाई-फ़ाई नेटवर्क
नीति के इस हिस्से में, ऐसे तीन वाई-फ़ाई नेटवर्क दिखाए गए हैं जिन्हें इस तरीके से कॉन्फ़िगर किया गया है
के लिए किया जा सकता है. Open Network कॉन्फ़िगरेशन JSON को इसके अंदर नेस्ट किया गया है
इसका 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" } } ] }
ईएपी की पुष्टि करना
नीति के इस हिस्से का उदाहरण, ईएपी-टीएलएस का इस्तेमाल करके कॉन्फ़िगर किया गया वायरलेस नेटवर्क दिखाता है
पुष्टि करने के लिए. 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
) कीचेन कुंजी का जोड़ा जिसका इस्तेमाल वाई-फ़ाई की पुष्टि करने के लिए किया जाता है. Android 12 और
है, तो वह KeyChain कुंजी जोड़ी जिसके साथ उपनाम तय है
ClientCertKeyPairAlias
को वाई-फ़ाई नेटवर्क पर पुष्टि करने के लिए दिया गया है और यह
का इस्तेमाल संबंधित वाई-फ़ाई नेटवर्क से पुष्टि करने के लिए किया जाता है. Android 12 से पहले के वर्शन के लिए,
nonComplianceDetail
के साथ
API_LEVEL
की वजह बताई गई है. ऐप्लिकेशन
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-ईएपी है
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" } ] }