আপনি একটি ডিভাইসে Wi-Fi নেটওয়ার্ক কনফিগার করতে নীতি ব্যবহার করতে পারেন৷ অ্যান্ড্রয়েড ম্যানেজমেন্ট এপিআই ওপেন নেটওয়ার্ক কনফিগারেশন ব্যবহার করে, একটি স্ট্যান্ডার্ড JSON-ভিত্তিক ফর্ম্যাট যা মূলত ক্রোমিয়াম প্রকল্পের অংশ হিসাবে তৈরি করা হয়েছিল।
 একটি নীতিতে একটি ওপেন নেটওয়ার্ক কনফিগারেশন অন্তর্ভুক্ত করতে, একটি Policy সম্পদে openNetworkConfiguration ক্ষেত্র সেট করুন।
 সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলির জন্য, আপনি ঐচ্ছিকভাবে একজন ব্যবহারকারীকে তাদের ডিভাইসে Wi-Fi সেটিংস ম্যানুয়ালি কনফিগার করা থেকে বিরত রাখতে পারেন Policy সম্পদে wifiConfigDisabled কে true সেট করে৷
সমর্থিত বৈশিষ্ট্য
অ্যান্ড্রয়েড ম্যানেজমেন্ট API শুধুমাত্র ওপেন নেটওয়ার্ক কনফিগারেশন স্পেসিফিকেশনের একটি উপসেট সমর্থন করে।
-  শীর্ষ-স্তরের বস্তু:-  Typeঅবশ্যই বাদ দিতে হবে বাUnencryptedConfigurationকনফিগারেশনে সেট করতে হবে। একটি নীতির মধ্যে নেটওয়ার্ক কনফিগারেশন এনক্রিপ্ট করার কোন প্রয়োজন নেই কারণ পুরো নীতিটি Android ম্যানেজমেন্ট API পরিষেবার মধ্যে এনক্রিপ্ট করা হয়েছে৷ অতিরিক্তভাবে, পাসফ্রেজ এবং ব্যক্তিগত কীগুলির মতো সংবেদনশীল তথ্যের জন্য এনক্রিপশনের একটি দ্বিতীয় স্তর রয়েছে।
 
-  
-  NetworkConfigurationঅবজেক্ট:-  GUID,Name,Type, এবংWiFiসমর্থিত ক্ষেত্রগুলি এবং সবগুলিই প্রয়োজন৷
-  ProxySettingsএকটি ঐচ্ছিক ক্ষেত্র। এটি ব্যবহার করা হলে, শুধুমাত্রManualএবংPAC(প্রক্সি অটো-কনফিগারেশন) সমর্থিত।
-  TypeWiFiসেট করা আবশ্যক. অন্যান্য ধরনের নেটওয়ার্ক সমর্থিত নয়।
 
-  
-  WiFiঅবজেক্ট:-  SSIDএবংHexSSIDসমর্থিত এবং তাদের মধ্যে অন্তত একটি উপস্থিত থাকতে হবে৷-  HexSSIDএবংSSIDউভয়ই সেট করা থাকলে, মানগুলি অবশ্যই সামঞ্জস্যপূর্ণ হতে হবে।
 
-  
-  HiddenSSIDসমর্থিত।
-  AllowGatewayARPPollingসমর্থিত নয়।
-  SignalStrengthসমর্থিত নয়।
-  AutoConnect: এই ক্ষেত্রটি নির্ধারণ করে যে নেটওয়ার্কটি স্বয়ংক্রিয়ভাবে সক্ষম হয়েছে কিনা। এই সেটিংটি ডিভাইসের Wi-Fi সেটিংসে ব্যবহারকারীদের জন্য উপলব্ধ নেটওয়ার্ক প্রতি স্বয়ংক্রিয় সংযোগ বিকল্প থেকে স্বতন্ত্র।-  যদি trueতে সেট করা হয়, তাহলে নেটওয়ার্কটি সক্ষম হয়, যার অর্থ ডিভাইসটি Wi-Fi সেটিংসে স্পষ্ট ব্যবহারকারী নির্বাচন ছাড়াই এটিতে স্বয়ংক্রিয়ভাবে সংযোগ করতে পারে যদি না ব্যবহারকারী এই নেটওয়ার্কের জন্য স্বয়ং-সংযোগ অক্ষম করে।
-  falseসেট করা থাকলে, নেটওয়ার্কটি সংরক্ষিত নেটওয়ার্কের তালিকায় যোগ করা হয় কিন্তু সক্রিয় করা হয় না। ডিভাইসটি স্বয়ংক্রিয়ভাবে এটির সাথে সংযুক্ত হয় না। ডিভাইসটিকে নেটওয়ার্কের সাথে সংযুক্ত করার জন্য, ব্যবহারকারীকে অবশ্যই Wi-Fi সেটিংস থেকে একবার ম্যানুয়ালি নেটওয়ার্ক নির্বাচন করতে হবে৷ প্রথম ম্যানুয়াল সংযোগের পরে, নেটওয়ার্কটিকে সক্ষম হিসাবে বিবেচনা করা হয় এবং ব্যবহারকারী এই নেটওয়ার্কের জন্য স্বয়ংক্রিয় সংযোগ অক্ষম না করলে ডিভাইসটি স্বয়ংক্রিয়ভাবে এটির সাথে সংযোগ করতে পারে৷
 
-  যদি 
-  Securityপ্রয়োজন এবং নিম্নলিখিত মানগুলি সমর্থিত: - কিছুই নয় - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192
 
-  
-  WEP-PSKপাসফ্রেজের জন্য, শুধুমাত্র 40-বিট (10-ডিজিট) বা 104-বিট (26-ডিজিটের) পাসফ্রেজ সমর্থিত।
-  স্পেসিফিকেশনে বলা হয়েছে যে WEP-PSKপাসফ্রেজ অবশ্যই0xউপসর্গ দিয়ে শুরু হবে। যাইহোক, অ্যান্ড্রয়েড ফ্রেমওয়ার্কের সাথে সামঞ্জস্যের জন্য, এই উপসর্গের প্রয়োজন নেই।
-  MAC র্যান্ডমাইজেশন মোড সেট করতে, HardwareবাAutomaticমানগুলির সাথে সেট করা সম্পত্তিMACAddressRandomizationModeব্যবহার করুন। এই সম্পত্তিটি ওপেন নেটওয়ার্ক কনফিগারেশন (ONC) স্পেসিফিকেশনে অনুপলব্ধ কিন্তু AMAPI-তে দেওয়া হয়েছে এবং Wi-Fi নেটওয়ার্ক কনফিগার করার সময় নির্দিষ্ট করা যেতে পারে। এটি সমস্ত পরিচালনা মোডে শুধুমাত্র Android 13+ এর ক্ষেত্রে প্রযোজ্য।-  নেটওয়ার্কের সাথে সংযোগ করার সময় Hardwareফ্যাক্টরি MAC ঠিকানা ব্যবহার করে।
-  Automaticওয়াই-ফাই ফ্রেমওয়ার্ককে স্বয়ংক্রিয়ভাবে MAC র্যান্ডমাইজেশন কৌশল নির্ধারণ করতে দেয়। এটি হয় স্থায়ী বা অ-স্থায়ী এলোমেলোভাবে জেনারেট করা MAC ঠিকানা হতে পারে যা নেটওয়ার্কের সাথে সংযোগ করার সময় ব্যবহৃত হয়।
 
-  নেটওয়ার্কের সাথে সংযোগ করার সময় 
-  EAPবস্তু:
-  ClientCertPatternসমর্থিত নয়।
-  শংসাপত্রগুলি সর্বদা সংরক্ষণ করা হয় বলে SaveCredentialsসমর্থিত নয়৷
-  UseSystemCAsসমর্থিত নয়।
-  ServerCARefসমর্থিত।
-  ServerCARefsসমর্থিত.
-  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 নেটওয়ার্ক
 এই উদাহরণ নীতি খণ্ডটি বিভিন্ন নিরাপত্তা স্কিম সহ কনফিগার করা তিনটি Wi-Fi নেটওয়ার্ক দেখায়৷ ওপেন নেটওয়ার্ক কনফিগারেশন JSON Policy JSON-এর openNetworkConfiguration ক্ষেত্রের মধ্যে নেস্ট করা আছে।
"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"
               ],
               "ServerCARefs": ["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 ) KeyPair-এর জন্য কী ব্যবহার করা হয়েছে প্রমাণীকরণ অ্যান্ড্রয়েড 12 এবং নতুনের জন্য, ClientCertKeyPairAlias সাথে নির্দিষ্ট উপনাম সহ KeyChain কী জোড়া ওয়াই-ফাই নেটওয়ার্কে প্রমাণীকরণের জন্য মঞ্জুর করা হয় এবং সংশ্লিষ্ট Wi-Fi নেটওয়ার্কে প্রমাণীকরণের জন্য ব্যবহার করা হয়। Android 12-এর আগে, API_LEVEL কারণ সহ একটি nonComplianceDetail রিপোর্ট করা হয়েছে। INVALID_VALUE কারণ এবং ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY নির্দিষ্ট কারণ সহ একটি nonComplianceDetail রিপোর্ট করা হয় যদি নির্দিষ্ট কী যুগল উপনাম একটি বিদ্যমান কী-এর সাথে সঙ্গতিপূর্ণ না হয়। নিম্নলিখিত একটি উদাহরণ নীতি:
"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"
               ],
               "ServerCARefs": ["abc123"],
               "ClientCertType": "KeyPairAlias",
               "ClientCertKeyPairAlias": "key-alias"
            },
            "Security": "WPA-EAP"
         }
      }
   ],
   "Certificates": [
      {
         "GUID": "abc123",
         "Type": "Server",
         "X509": "TWFuIGlzIGRpc3Rpbmd1a"
      }
   ]
} Security ক্ষেত্রটি WPA3-Enterprise_192 ও হতে পারে যা WPA3 192-বিট মোডের সাথে কনফিগার করা একটি WPA-EAP নেটওয়ার্ক।
"openNetworkConfiguration": {
   "Type": "UnencryptedConfiguration",
   "NetworkConfigurations": [
      {
         "Type": "WiFi",
         "Name": "Example A",
         "GUID": "A",
         "WiFi": {
            "SSID": "Example A",
            "EAP": {
               "Outer": "EAP-TLS",
               "Identity": "example",
               "ServerCARefs": ["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"
      }
   ]
}