আপনি একটি ডিভাইসে Wi-Fi নেটওয়ার্ক কনফিগার করতে নীতি ব্যবহার করতে পারেন৷ অ্যান্ড্রয়েড ম্যানেজমেন্ট এপিআই ওপেন নেটওয়ার্ক কনফিগারেশন ব্যবহার করে, একটি স্ট্যান্ডার্ড JSON-ভিত্তিক ফর্ম্যাট যা মূলত ক্রোমিয়াম প্রকল্পের অংশ হিসাবে তৈরি করা হয়েছিল।
একটি নীতিতে একটি ওপেন নেটওয়ার্ক কনফিগারেশন অন্তর্ভুক্ত করতে, একটি Policy
সম্পদে openNetworkConfiguration
ক্ষেত্র সেট করুন।
সম্পূর্ণরূপে পরিচালিত ডিভাইসগুলির জন্য, আপনি ঐচ্ছিকভাবে একজন ব্যবহারকারীকে তাদের ডিভাইসে Wi-Fi সেটিংস ম্যানুয়ালি কনফিগার করা থেকে বিরত রাখতে পারেন Policy
সম্পদে wifiConfigDisabled
কে true
সেট করে৷
সমর্থিত বৈশিষ্ট্য
অ্যান্ড্রয়েড ম্যানেজমেন্ট API শুধুমাত্র ওপেন নেটওয়ার্ক কনফিগারেশন স্পেসিফিকেশনের একটি উপসেট সমর্থন করে।
- শীর্ষ-স্তরের বস্তু:
-
Type
অবশ্যই বাদ দিতে হবে বাUnencryptedConfiguration
কনফিগারেশনে সেট করতে হবে। একটি নীতির মধ্যে নেটওয়ার্ক কনফিগারেশন এনক্রিপ্ট করার কোন প্রয়োজন নেই কারণ পুরো নীতিটি Android ম্যানেজমেন্ট API পরিষেবার মধ্যে এনক্রিপ্ট করা হয়েছে৷ অতিরিক্তভাবে, পাসফ্রেজ এবং ব্যক্তিগত কীগুলির মতো সংবেদনশীল তথ্যের জন্য এনক্রিপশনের একটি দ্বিতীয় স্তর রয়েছে।
-
-
NetworkConfiguration
অবজেক্ট:-
GUID
,Name
,Type
, এবংWiFi
সমর্থিত ক্ষেত্রগুলি এবং সবগুলিই প্রয়োজন৷ -
ProxySettings
একটি ঐচ্ছিক ক্ষেত্র। এটি ব্যবহার করা হলে, শুধুমাত্রManual
এবংPAC
(প্রক্সি অটো-কনফিগারেশন) সমর্থিত। -
Type
WiFi
সেট করা আবশ্যক. অন্যান্য ধরনের নেটওয়ার্ক সমর্থিত নয়।
-
-
WiFi
অবজেক্ট:-
SSID
এবংHexSSID
সমর্থিত এবং তাদের মধ্যে অন্তত একটি উপস্থিত থাকতে হবে৷-
HexSSID
এবংSSID
উভয়ই সেট করা থাকলে, মানগুলি অবশ্যই সামঞ্জস্যপূর্ণ হতে হবে।
-
-
HiddenSSID
সমর্থিত। -
AllowGatewayARPPolling
সমর্থিত নয়। -
SignalStrength
সমর্থিত নয়। -
AutoConnect
সক্ষম হলে, এই নেটওয়ার্কটিকে নেটওয়ার্ক নির্বাচনের সময় সংযোগ করার জন্য একটি সম্ভাব্য প্রার্থী হিসাবে বিবেচনা করা হবে৷ -
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" } ] }