नेटवर्क कॉन्फ़िगर करें

डिवाइस पर वाई-फ़ाई नेटवर्क कॉन्फ़िगर करने के लिए, नीति का इस्तेमाल किया जा सकता है. 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_192
    • WEP-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"
      }
   ]
}