1 /*
2  * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #include "permission_map.h"
16 
17 #include <map>
18 #include <string>
19 #include <vector>
20 
21 namespace OHOS {
22 namespace Security {
23 namespace AccessToken {
24 const static uint32_t MAX_PERM_SIZE = 2048;
25 /*
26 Permission code must be a number between 0 and OP_MAX.
27 The number must be added sequentially.
28 */
29 const static std::vector<std::pair<std::string, bool>> g_permMap = {
30     /* first: permission name, second: true-user_grant/false-system_grant */
31     {"ohos.permission.ANSWER_CALL",             true},
32     {"ohos.permission.READ_CALENDAR",           true},
33     {"ohos.permission.READ_CALL_LOG",           true},
34     {"ohos.permission.READ_CELL_MESSAGES",      true},
35     {"ohos.permission.READ_CONTACTS",           true},
36     {"ohos.permission.READ_MESSAGES",           true},
37     {"ohos.permission.RECEIVE_MMS",             true},
38     {"ohos.permission.RECEIVE_SMS",             true},
39     {"ohos.permission.RECEIVE_WAP_MESSAGES",    true},
40     {"ohos.permission.MICROPHONE",              true},
41     {"ohos.permission.SEND_MESSAGES",           true},
42     {"ohos.permission.WRITE_CALENDAR",          true},
43     {"ohos.permission.WRITE_CALL_LOG",          true},
44     {"ohos.permission.WRITE_CONTACTS",          true},
45     {"ohos.permission.DISTRIBUTED_DATASYNC",    true},
46     {"ohos.permission.MANAGE_VOICEMAIL",        true},
47     {"ohos.permission.LOCATION_IN_BACKGROUND",  true},
48     {"ohos.permission.LOCATION",                true},
49     {"ohos.permission.APPROXIMATELY_LOCATION",  true},
50     {"ohos.permission.MEDIA_LOCATION",          true},
51     {"ohos.permission.CAMERA",                  true},
52     {"ohos.permission.READ_MEDIA",              true},
53     {"ohos.permission.WRITE_MEDIA",             true},
54     {"ohos.permission.ACTIVITY_MOTION",         true},
55     {"ohos.permission.READ_HEALTH_DATA",        true},
56     {"ohos.permission.READ_IMAGEVIDEO",         true},
57     {"ohos.permission.READ_AUDIO",              true},
58     {"ohos.permission.READ_DOCUMENT",           true},
59     {"ohos.permission.WRITE_IMAGEVIDEO",        true},
60     {"ohos.permission.WRITE_AUDIO",             true},
61     {"ohos.permission.WRITE_DOCUMENT",          true},
62     {"ohos.permission.READ_WHOLE_CALENDAR",     true},
63     {"ohos.permission.WRITE_WHOLE_CALENDAR",    true},
64     {"ohos.permission.APP_TRACKING_CONSENT",    true},
65     {"ohos.permission.GET_INSTALLED_BUNDLE_LIST", true},
66     {"ohos.permission.ACCESS_BLUETOOTH",        true},
67     {"ohos.permission.READ_PASTEBOARD",         true},
68     {"ohos.permission.READ_WRITE_DOWNLOAD_DIRECTORY", true},
69     {"ohos.permission.READ_WRITE_DOCUMENTS_DIRECTORY", true},
70     {"ohos.permission.READ_WRITE_DESKTOP_DIRECTORY", true},
71     {"ohos.permission.SHORT_TERM_WRITE_IMAGEVIDEO", true},
72     {"ohos.permission.CUSTOM_SCREEN_CAPTURE", true},
73     {"ohos.permission.USE_BLUETOOTH",           false},
74     {"ohos.permission.DISCOVER_BLUETOOTH",      false},
75     {"ohos.permission.MANAGE_BLUETOOTH",        false},
76     {"ohos.permission.GET_BLUETOOTH_LOCAL_MAC", false},
77     {"ohos.permission.GET_BLUETOOTH_PEERS_MAC", false},
78     {"ohos.permission.INTERNET",                false},
79     {"ohos.permission.GET_APP_DOMAIN_BUNDLE_INFO",  false},
80     {"ohos.permission.MODIFY_AUDIO_SETTINGS",   false},
81     {"ohos.permission.ACCESS_NOTIFICATION_POLICY", false},
82     {"ohos.permission.GET_TELEPHONY_STATE",     false},
83     {"ohos.permission.GET_PHONE_NUMBERS",       false},
84     {"ohos.permission.DISTRIBUTED_SOFTBUS_CENTER", false},
85     {"ohos.permission.REQUIRE_FORM",            false},
86     {"ohos.permission.AGENT_REQUIRE_FORM",      false},
87     {"ohos.permission.GET_NETWORK_INFO",        false},
88     {"ohos.permission.PLACE_CALL",              false},
89     {"ohos.permission.SET_NETWORK_INFO",        false},
90     {"ohos.permission.REMOVE_CACHE_FILES",      false},
91     {"ohos.permission.REBOOT",                  false},
92     {"ohos.permission.RUNNING_LOCK",            false},
93     {"ohos.permission.SET_TIME",                false},
94     {"ohos.permission.SET_TIME_ZONE",           false},
95     {"ohos.permission.DOWNLOAD_SESSION_MANAGER", false},
96     {"ohos.permission.COMMONEVENT_STICKY",      false},
97     {"ohos.permission.SYSTEM_FLOAT_WINDOW",     false},
98     {"ohos.permission.PRIVACY_WINDOW",          false},
99     {"ohos.permission.POWER_MANAGER",           false},
100     {"ohos.permission.REFRESH_USER_ACTION",     false},
101     {"ohos.permission.POWER_OPTIMIZATION",      false},
102     {"ohos.permission.REBOOT_RECOVERY",         false},
103     {"ohos.permission.MANAGE_LOCAL_ACCOUNTS",   false},
104     {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS", false},
105     {"ohos.permission.VIBRATE",                 false},
106     {"ohos.permission.SYSTEM_LIGHT_CONTROL",    false},
107     {"ohos.permission.CONNECT_IME_ABILITY",     false},
108     {"ohos.permission.CONNECT_SCREEN_SAVER_ABILITY", false},
109     {"ohos.permission.READ_SCREEN_SAVER",       false},
110     {"ohos.permission.WRITE_SCREEN_SAVER",      false},
111     {"ohos.permission.SET_WALLPAPER",           false},
112     {"ohos.permission.GET_WALLPAPER",           false},
113     {"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", false},
114     {"ohos.permission.ACCESS_MISSIONS",         false},
115     {"ohos.permission.CLEAN_BACKGROUND_PROCESSES", false},
116     {"ohos.permission.KEEP_BACKGROUND_RUNNING", false},
117     {"ohos.permission.UPDATE_CONFIGURATION",    false},
118     {"ohos.permission.UPDATE_SYSTEM",           false},
119     {"ohos.permission.FACTORY_RESET",           false},
120     {"ohos.permission.ASSIST_DEVICE_UPDATE",    false},
121     {"ohos.permission.RECEIVE_UPDATE_MESSAGE",    false},
122     {"ohos.permission.UPDATE_MIGRATE",          false},
123     {"ohos.permission.GRANT_SENSITIVE_PERMISSIONS", false},
124     {"ohos.permission.REVOKE_SENSITIVE_PERMISSIONS", false},
125     {"ohos.permission.GET_SENSITIVE_PERMISSIONS", false},
126     {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION", false},
127     {"ohos.permission.LISTEN_BUNDLE_CHANGE",    false},
128     {"ohos.permission.GET_BUNDLE_INFO",         false},
129     {"ohos.permission.ACCELEROMETER",           false},
130     {"ohos.permission.GYROSCOPE",               false},
131     {"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", false},
132     {"ohos.permission.INSTALL_BUNDLE",          false},
133     {"ohos.permission.MANAGE_SHORTCUTS",        false},
134     {"ohos.permission.radio.ACCESS_FM_AM",      false},
135     {"ohos.permission.SET_TELEPHONY_STATE",     false},
136     {"ohos.permission.ACCESS_BOOSTER_SERVICE", false},
137     {"ohos.permission.START_ABILIIES_FROM_BACKGROUND", false},
138     {"ohos.permission.START_ABILITIES_FROM_BACKGROUND", false},
139     {"ohos.permission.BUNDLE_ACTIVE_INFO",      false},
140     {"ohos.permission.START_INVISIBLE_ABILITY", false},
141     {"ohos.permission.sec.ACCESS_UDID",         false},
142     {"ohos.permission.LAUNCH_DATA_PRIVACY_CENTER", false},
143     {"ohos.permission.MANAGE_MEDIA_RESOURCES",  false},
144     {"ohos.permission.PUBLISH_AGENT_REMINDER",  false},
145     {"ohos.permission.CONTROL_TASK_SYNC_ANIMATOR", false},
146     {"ohos.permission.INPUT_MONITORING",        false},
147     {"ohos.permission.MANAGE_MISSIONS",         false},
148     {"ohos.permission.NOTIFICATION_CONTROLLER", false},
149     {"ohos.permission.CONNECTIVITY_INTERNAL",   false},
150     {"ohos.permission.MANAGE_NET_STRATEGY",     false},
151     {"ohos.permission.GET_NETWORK_STATS",       false},
152     {"ohos.permission.MANAGE_VPN",              false},
153     {"ohos.permission.SET_ABILITY_CONTROLLER",  false},
154     {"ohos.permission.USE_USER_IDM",            false},
155     {"ohos.permission.MANAGE_USER_IDM",         false},
156     {"ohos.permission.NETSYS_INTERNAL",         false},
157     {"ohos.permission.ACCESS_BIOMETRIC",        false},
158     {"ohos.permission.ACCESS_USER_AUTH_INTERNAL", false},
159     {"ohos.permission.MANAGE_FINGERPRINT_AUTH", false},
160     {"ohos.permission.ACCESS_PIN_AUTH",         false},
161     {"ohos.permission.ACCESS_AUTH_RESPOOL",     false},
162     {"ohos.permission.ENFORCE_USER_IDM",        false},
163     {"ohos.permission.GET_RUNNING_INFO",        false},
164     {"ohos.permission.CLEAN_APPLICATION_DATA",  false},
165     {"ohos.permission.RUNNING_STATE_OBSERVER",  false},
166     {"ohos.permission.CAPTURE_SCREEN",          false},
167     {"ohos.permission.GET_WIFI_INFO",           false},
168     {"ohos.permission.GET_WIFI_INFO_INTERNAL",  false},
169     {"ohos.permission.SET_WIFI_INFO",           false},
170     {"ohos.permission.GET_WIFI_PEERS_MAC",      false},
171     {"ohos.permission.GET_WIFI_LOCAL_MAC",      false},
172     {"ohos.permission.GET_WIFI_CONFIG",         false},
173     {"ohos.permission.SET_WIFI_CONFIG",         false},
174     {"ohos.permission.MANAGE_WIFI_CONNECTION",  false},
175     {"ohos.permission.DUMP",                    false},
176     {"ohos.permission.MANAGE_WIFI_HOTSPOT",     false},
177     {"ohos.permission.GET_ALL_APP_ACCOUNTS",    false},
178     {"ohos.permission.MANAGE_SECURE_SETTINGS",  false},
179     {"ohos.permission.READ_DFX_SYSEVENT",       false},
180     {"ohos.permission.READ_HIVIEW_SYSTEM",      false},
181     {"ohos.permission.READ_DFX_XPOWER",         false},
182     {"ohos.permission.WRITE_HIVIEW_SYSTEM",     false},
183     {"ohos.permission.SUBSCRIBE_SWING_ABILITY",     false},
184     {"ohos.permission.MANAGER_SWING_MOTION",     false},
185     {"ohos.permission.MANAGE_ENTERPRISE_DEVICE_ADMIN",      false},
186     {"ohos.permission.SET_ENTERPRISE_INFO",                 false},
187     {"ohos.permission.ACCESS_BUNDLE_DIR",                   false},
188     {"ohos.permission.ENTERPRISE_SUBSCRIBE_MANAGED_EVENT",  false},
189     {"ohos.permission.ENTERPRISE_SET_DATETIME",             false},
190     {"ohos.permission.ENTERPRISE_GET_DEVICE_INFO",          false},
191     {"ohos.permission.ENTERPRISE_RESET_DEVICE",             false},
192     {"ohos.permission.ENTERPRISE_SET_WIFI",                 false},
193     {"ohos.permission.ENTERPRISE_GET_NETWORK_INFO",         false},
194     {"ohos.permission.ENTERPRISE_SET_ACCOUNT_POLICY",       false},
195     {"ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY", false},
196     {"ohos.permission.ENTERPRISE_SET_NETWORK",              false},
197     {"ohos.permission.ENTERPRISE_MANAGE_SET_APP_RUNNING_POLICY", false},
198     {"ohos.permission.ENTERPRISE_SET_SCREENOFF_TIME",       false},
199     {"ohos.permission.ENTERPRISE_MANAGE_SECURITY",          false},
200     {"ohos.permission.ENTERPRISE_MANAGE_BLUETOOTH",         false},
201     {"ohos.permission.ENTERPRISE_MANAGE_WIFI",              false},
202     {"ohos.permission.ENTERPRISE_MANAGE_RESTRICTIONS",      false},
203     {"ohos.permission.ENTERPRISE_MANAGE_APPLICATION",       false},
204     {"ohos.permission.ENTERPRISE_MANAGE_LOCATION",          false},
205     {"ohos.permission.ENTERPRISE_REBOOT",                   false},
206     {"ohos.permission.ENTERPRISE_LOCK_DEVICE",              false},
207     {"ohos.permission.ENTERPRISE_GET_SETTINGS",             false},
208     {"ohos.permission.ENTERPRISE_MANAGE_SETTINGS",          false},
209     {"ohos.permission.ENTERPRISE_INSTALL_BUNDLE",           false},
210     {"ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE",       false},
211     {"ohos.permission.ENTERPRISE_MANAGE_SYSTEM",            false},
212     {"ohos.permission.ENTERPRISE_RESTRICT_POLICY",          false},
213     {"ohos.permission.ENTERPRISE_MANAGE_USB",               false},
214     {"ohos.permission.ENTERPRISE_MANAGE_NETWORK",           false},
215     {"ohos.permission.ENTERPRISE_SET_BROWSER_POLICY",       false},
216     {"ohos.permission.ENTERPRISE_OPERATE_DEVICE",           false},
217     {"ohos.permission.ENTERPRISE_ADMIN_MANAGE",             false},
218     {"ohos.permission.ENTERPRISE_CONFIG",                   false},
219     {"ohos.permission.ENTERPRISE_MANAGE_DELEGATED_POLICY",  false},
220     {"ohos.permission.NFC_TAG",                             false},
221     {"ohos.permission.NFC_CARD_EMULATION",                  false},
222     {"ohos.permission.MANAGE_UWB",                          false},
223     {"ohos.permission.USE_UWB_RANGING",                     false},
224     {"ohos.permission.PERMISSION_USED_STATS",               false},
225     {"ohos.permission.NOTIFICATION_AGENT_CONTROLLER",       false},
226     {"ohos.permission.MOUNT_UNMOUNT_MANAGER",               false},
227     {"ohos.permission.MOUNT_FORMAT_MANAGER",                false},
228     {"ohos.permission.STORAGE_MANAGER",                     false},
229     {"ohos.permission.BACKUP",                              false},
230     {"ohos.permission.CLOUDFILE_SYNC_MANAGER",              false},
231     {"ohos.permission.CLOUDFILE_SYNC",                      false},
232     {"ohos.permission.FILE_ACCESS_MANAGER",                 false},
233     {"ohos.permission.GET_DEFAULT_APPLICATION",             false},
234     {"ohos.permission.SET_DEFAULT_APPLICATION",             false},
235     {"ohos.permission.ACCESS_IDS",                          false},
236     {"ohos.permission.MANAGE_DISPOSED_APP_STATUS",          false},
237     {"ohos.permission.GET_DISPOSED_APP_STATUS",          false},
238     {"ohos.permission.ACCESS_DLP_FILE",                     false},
239     {"ohos.permission.PROVISIONING_MESSAGE",                false},
240     {"ohos.permission.ACCESS_SYSTEM_SETTINGS",              false},
241     {"ohos.permission.ABILITY_BACKGROUND_COMMUNICATION",    false},
242     {"ohos.permission.securityguard.REPORT_SECURITY_INFO",  false},
243     {"ohos.permission.securityguard.REQUEST_SECURITY_MODEL_RESULT", false},
244     {"ohos.permission.securityguard.REQUEST_SECURITY_EVENT_INFO",   false},
245     {"ohos.permission.ACCESS_CERT_MANAGER_INTERNAL",        false},
246     {"ohos.permission.ACCESS_CERT_MANAGER",                 false},
247     {"ohos.permission.GET_LOCAL_ACCOUNTS",                  false},
248     {"ohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS",         false},
249     {"ohos.permission.GET_DISTRIBUTED_ACCOUNTS",            false},
250     {"ohos.permission.READ_ACCESSIBILITY_CONFIG",           false},
251     {"ohos.permission.WRITE_ACCESSIBILITY_CONFIG",          false},
252     {"ohos.permission.ACCESS_PUSH_SERVICE",                 false},
253     {"ohos.permission.READ_APP_PUSH_DATA",                  false},
254     {"ohos.permission.WRITE_APP_PUSH_DATA",                 false},
255     {"ohos.permission.MANAGE_AUDIO_CONFIG",                 false},
256     {"ohos.permission.MANAGE_CAMERA_CONFIG",                false},
257     {"ohos.permission.CAMERA_CONTROL",                      false},
258     {"ohos.permission.RECEIVER_STARTUP_COMPLETED",          false},
259     {"ohos.permission.ACCESS_SERVICE_DM",                   false},
260     {"ohos.permission.RUN_ANY_CODE",                        false},
261     {"ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT",         false},
262     {"ohos.permission.ACCESS_SCREEN_LOCK_INNER",            false},
263     {"ohos.permission.PRINT",                               false},
264     {"ohos.permission.MANAGE_PRINT_JOB",                    false},
265     {"ohos.permission.CHANGE_OVERLAY_ENABLED_STATE",        false},
266     {"ohos.permission.CONNECT_CELLULAR_CALL_SERVICE",       false},
267     {"ohos.permission.CONNECT_IMS_SERVICE",                 false},
268     {"ohos.permission.ACCESS_SENSING_WITH_ULTRASOUND",      false},
269     {"ohos.permission.PROXY_AUTHORIZATION_URI",             false},
270     {"ohos.permission.INSTALL_ENTERPRISE_BUNDLE",           false},
271     {"ohos.permission.ACCESS_CAST_ENGINE_MIRROR",           false},
272     {"ohos.permission.ACCESS_CAST_ENGINE_STREAM",           false},
273     {"ohos.permission.CLOUDDATA_CONFIG",                    false},
274     {"ohos.permission.DEVICE_STANDBY_EXEMPTION",            false},
275     {"ohos.permission.PERCEIVE_SMART_POWER_SCENARIO",       false},
276     {"ohos.permission.RESTRICT_APPLICATION_ACTIVE",         false},
277     {"ohos.permission.MANAGE_SENSOR",                       false},
278     {"ohos.permission.UPLOAD_SESSION_MANAGER",              false},
279     {"ohos.permission.PREPARE_APP_TERMINATE",               false},
280     {"ohos.permission.MANAGE_ECOLOGICAL_RULE",              false},
281     {"ohos.permission.GET_SCENE_CODE",                      false},
282     {"ohos.permission.FILE_GUARD_MANAGER",                  false},
283     {"ohos.permission.SET_FILE_GUARD_POLICY",               false},
284     {"ohos.permission.securityguard.SET_MODEL_STATE",       false},
285     {"ohos.permission.hsdr.HSDR_ACCESS",                    false},
286     {"ohos.permission.SUPPORT_USER_AUTH",                   false},
287     {"ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO",        false},
288     {"ohos.permission.MANAGE_INTELLIGENT_VOICE",            false},
289     {"ohos.permission.INSTALL_ENTERPRISE_MDM_BUNDLE",       false},
290     {"ohos.permission.INSTALL_ENTERPRISE_NORMAL_BUNDLE",    false},
291     {"ohos.permission.INSTALL_SELF_BUNDLE",                 false},
292     {"ohos.permission.OBSERVE_FORM_RUNNING",                false},
293     {"ohos.permission.MANAGE_DEVICE_AUTH_CRED",             false},
294     {"ohos.permission.UNINSTALL_BUNDLE",                    false},
295     {"ohos.permission.RECOVER_BUNDLE",                      false},
296     {"ohos.permission.GET_DOMAIN_ACCOUNTS",                 false},
297     {"ohos.permission.SET_UNREMOVABLE_NOTIFICATION",        false},
298     {"ohos.permission.QUERY_ACCESSIBILITY_ELEMENT",         false},
299     {"ohos.permission.ACTIVATE_THEME_PACKAGE",              false},
300     {"ohos.permission.ATTEST_KEY",                          false},
301     {"ohos.permission.WAKEUP_VOICE",                        false},
302     {"ohos.permission.WAKEUP_VISION",                       false},
303     {"ohos.permission.ENABLE_DISTRIBUTED_HARDWARE",         false},
304     {"ohos.permission.ACCESS_DISTRIBUTED_HARDWARE",         false},
305     {"ohos.permission.INSTANTSHARE_SWITCH_CONTROL",         false},
306     {"ohos.permission.ACCESS_INSTANTSHARE_SERVICE",         false},
307     {"ohos.permission.ACCESS_INSTANTSHARE_PRIVATE_ABILITY", false},
308     {"ohos.permission.SECURE_PASTE",                        false},
309     {"ohos.permission.ACCESS_MCP_AUTHORIZATION",            false},
310     {"ohos.permission.GET_BUNDLE_RESOURCES",                false},
311     {"ohos.permission.SET_CODE_PROTECT_INFO",               false},
312     {"ohos.permission.SET_ADVANCED_SECURITY_MODE",          false},
313     {"ohos.permission.SET_DEVELOPER_MODE",                  false},
314     {"ohos.permission.RUN_DYN_CODE",                        false},
315     {"ohos.permission.COOPERATE_MANAGER",                   false},
316     {"ohos.permission.PERCEIVE_TRAIL",                      false},
317     {"ohos.permission.DISABLE_PERMISSION_DIALOG",           false},
318     {"ohos.permission.EXECUTE_INSIGHT_INTENT",              false},
319     {"ohos.permission.PRELOAD_UI_EXTENSION_ABILITY",        false},
320     {"ohos.permission.MANAGE_ACTIVATION_LOCK",              false},
321     {"ohos.permission.VERIFY_ACTIVATION_LOCK",              false},
322     {"ohos.permission.MANAGE_PRIVATE_PHOTOS",               false},
323     {"ohos.permission.ACCESS_OUC",                          false},
324     {"ohos.permission.TRUSTED_RING_HASH_DATA_PERMISSION",   false},
325     {"ohos.permission.QUERY_TRUSTED_RING_USER_INFO",        false},
326     {"ohos.permission.MANAGE_TRUSTED_RING",                 false},
327     {"ohos.permission.USE_TRUSTED_RING",                    false},
328     {"ohos.permission.INPUT_CONTROL_DISPATCHING",           false},
329     {"ohos.permission.INTERCEPT_INPUT_EVENT",               false},
330     {"ohos.permission.LAUNCH_SPAMSHIELD_PAGE",              false},
331     {"ohos.permission.ACCESS_SPAMSHIELD_SERVICE",           false},
332     {"ohos.permission.ACCESS_SECURITY_PRIVACY_CENTER",      false},
333     {"ohos.permission.GET_SECURITY_PRIVACY_ADVICE",         false},
334     {"ohos.permission.SET_SECURITY_PRIVACY_ADVICE",         false},
335     {"ohos.permission.USE_SECURITY_PRIVACY_MESSAGER",       false},
336     {"ohos.permission.GET_PRIVACY_INDICATOR",               false},
337     {"ohos.permission.SET_PRIVACY_INDICATOR",               false},
338     {"ohos.permission.EXEMPT_PRIVACY_INDICATOR",            false},
339     {"ohos.permission.EXEMPT_CAMERA_PRIVACY_INDICATOR",     false},
340     {"ohos.permission.EXEMPT_MICROPHONE_PRIVACY_INDICATOR", false},
341     {"ohos.permission.EXEMPT_LOCATION_PRIVACY_INDICATOR",   false},
342     {"ohos.permission.EXEMPT_PRIVACY_SECURITY_CENTER",      false},
343     {"ohos.permission.ACCESS_LEARN_MORE_DIALOG",      false},
344     {"ohos.permission.GET_SUPER_PRIVACY",                   false},
345     {"ohos.permission.SET_SUPER_PRIVACY",                   false},
346     {"ohos.permission.RECORD_VOICE_CALL",                   false},
347     {"ohos.permission.MANAGE_APP_INSTALL_INFO",             false},
348     {"ohos.permission.RECEIVE_APP_INSTALL_INFO_CHANGE",     false},
349     {"ohos.permission.ACCESS_ADVANCED_SECURITY_MODE",       false},
350     {"ohos.permission.STORE_PERSISTENT_DATA",               false},
351     {"ohos.permission.ACCESS_HIVIEWX",                      false},
352     {"ohos.permission.ACCESS_PASSWORDVAULT_ABILITY",        false},
353     {"ohos.permission.ACCESS_LOWPOWER_MANAGER",             false},
354     {"ohos.permission.ACCESS_DDK_USB",                      false},
355     {"ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER",    false},
356     {"ohos.permission.ACCESS_TEXTAUTOFILL_ABILITY",         false},
357     {"ohos.permission.ACCESS_DDK_HID",                      false},
358     {"ohos.permission.MANAGE_APP_BOOT",                     false},
359     {"ohos.permission.ACCESS_HIVIEWCARE",                   false},
360     {"ohos.permission.CONNECT_UI_EXTENSION_ABILITY",        false},
361     {"ohos.permission.FILE_ACCESS_PERSIST",                 false},
362     {"ohos.permission.SET_SANDBOX_POLICY",                  false},
363     {"ohos.permission.ACCESS_ACCOUNT_KIT_SERVICE",          false},
364     {"ohos.permission.REQUEST_ANONYMOUS_ATTEST",            false},
365     {"ohos.permission.ACCESS_ACCOUNT_KIT_UI",               false},
366     {"ohos.permission.READ_ACCOUNT_LOGIN_STATE",            false},
367     {"ohos.permission.WRITE_ACCOUNT_LOGIN_STATE",           false},
368     {"ohos.permission.START_ABILITY_WITH_ANIMATION",        false},
369     {"ohos.permission.START_RECENT_ABILITY",                false},
370     {"ohos.permission.READ_CLOUD_SYNC_CONFIG",              false},
371     {"ohos.permission.MANAGE_CLOUD_SYNC_CONFIG",            false},
372     {"ohos.permission.ACCESS_FINDDEVICE",                   false},
373     {"ohos.permission.MANAGE_FINDSERVICE",                  false},
374     {"ohos.permission.TRIGGER_ACTIVATIONLOCK",              false},
375     {"ohos.permission.MANAGE_USB_CONFIG",                   false},
376     {"ohos.permission.WRITE_PRIVACY_PUSH_DATA",             false},
377     {"ohos.permission.READ_PRIVACY_PUSH_DATA",              false},
378     {"ohos.permission.MANAGE_HAP_TOKENID",                  false},
379     {"ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT",      false},
380     {"ohos.permission.SEND_TASK_COMPLETE_EVENT",            false},
381     {"ohos.permission.GET_SUSPEND_STATE",                   false},
382     {"ohos.permission.MANAGE_APP_BOOT_INTERNAL",            false},
383     {"ohos.permission.REGISTER_APP_DEBUG_LISTENER",         false},
384     {"ohos.permission.ATTACH_APP_DEBUG",                    false},
385     {"ohos.permission.NOTIFY_DEBUG_ASSERT_RESULT",          false},
386     {"ohos.permission.CHANGE_DISPLAYMODE",                  false},
387     {"ohos.permission.ACCESS_MEDIALIB_THUMB_DB",            false},
388     {"ohos.permission.MIGRATE_DATA",                        false},
389     {"ohos.permission.ACCESS_DYNAMIC_ICON",                 false},
390     {"ohos.permission.CHANGE_BUNDLE_UNINSTALL_STATE",       false},
391     {"ohos.permission.MONITOR_DEVICE_NETWORK_STATE",        false},
392     {"ohos.permission.SYNC_PROFILE_DP",                     false},
393     {"ohos.permission.ACCESS_SERVICE_DP",                   false},
394     {"ohos.permission.ACCESS_PROTOCOL_DFX_STATE",           false},
395     {"ohos.permission.ACCESS_SERVICE_NAVIGATION_INFO",      false},
396     {"ohos.permission.MANAGE_STYLUS_EVENT",                 false},
397     {"ohos.permission.WRITE_GTOKEN_POLICY",                 false},
398     {"ohos.permission.READ_GTOKEN_POLICY",                  false},
399     {"ohos.permission.ENABLE_PROFILER",                     false},
400     {"ohos.permission.PRELOAD_APPLICATION",                 false},
401     {"ohos.permission.USE_CLOUD_DRIVE_SERVICE",             false},
402     {"ohos.permission.USE_CLOUD_BACKUP_SERVICE",            false},
403     {"ohos.permission.USE_CLOUD_COMMON_SERVICE",            false},
404     {"ohos.permission.START_DLP_CRED",                      false},
405     {"ohos.permission.START_SHORTCUT",                      false},
406     {"ohos.permission.MANAGE_INPUT_INFRARED_EMITTER",       false},
407     {"ohos.permission.SET_PROCESS_CACHE_STATE",             false},
408     {"ohos.permission.ACCESS_PRIVATE_SPACE_MANAGER",        false},
409     {"ohos.permission.ACCESS_PRIVATE_SPACE_PASSWORD_PROTECT", false},
410     {"ohos.permission.ACCESS_LOCAL_BACKUP", false},
411     {"ohos.permission.ACCESS_SYSTEM_APP_CERT",              false},
412     {"ohos.permission.ACCESS_USER_TRUSTED_CERT",            false},
413     {"ohos.permission.CAST_AUDIO_OUTPUT",                   false},
414     {"ohos.permission.GRANT_URI_PERMISSION_PRIVILEGED",     false},
415     {"ohos.permission.UPDATE_APP_CONFIGURATION",            false},
416     {"ohos.permission.KILL_APP_PROCESSES",                  false},
417     {"ohos.permission.ACCESS_SCREEN_LOCK_MEDIA_DATA",       false},
418     {"ohos.permission.ACCESS_SCREEN_LOCK_ALL_DATA",         false},
419     {"ohos.permission.MANAGE_SYSTEM_ABILITY",               false},
420     {"ohos.permission.ACCESS_EXT_SYSTEM_ABILITY",           false},
421     {"ohos.permission.WRITE_RINGTONE",                      false},
422     {"ohos.permission.UPDATE_QUICKFIX",                     false},
423     {"ohos.permission.GET_QUICKFIX_INFO",                   false},
424     {"ohos.permission.CHECK_QUICKFIX_RESULT",               false},
425     {"ohos.permission.GET_ACCOUNT_MINORS_INFO",             false},
426     {"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_AS_USER", false},
427     {"ohos.permission.ACCESS_LOCAL_THEME",                  false},
428     {"ohos.permission.ACCESS_SHADER_CACHE_DIR",             false},
429     {"ohos.permission.INSTALL_CLONE_BUNDLE",                false},
430     {"ohos.permission.UNINSTALL_CLONE_BUNDLE",              false},
431     {"ohos.permission.PROTECT_SCREEN_LOCK_DATA",            false},
432     {"ohos.permission.MANAGE_SETTINGS",                     false},
433     {"ohos.permission.ACCESS_DEVICE_COLLABORATION_PRIVATE_ABILITY",                     false},
434     {"ohos.permission.ACCESS_DEVICE_COLLABORATION_SERVICE", false},
435     {"ohos.permission.ACCESS_RINGTONE_RESOURCE",            false},
436     {"ohos.permission.ACCESS_FILE_CONTENT_SHARE",           false},
437     {"ohos.permission.ACCESS_SEARCH_SERVICE",               false},
438     {"ohos.permission.ACCESS_SCREEN_LOCK",                  false},
439     {"ohos.permission.MANAGE_SOFTBUS_NETWORK",              false},
440     {"ohos.permission.MANAGE_FINDNETWORK",                  false},
441     {"ohos.permission.SET_FOREGROUND_HAP_REMINDER",         false},
442     {"ohos.permission.OPERATE_FINDNETWORK",                 false},
443     {"ohos.permission.QUERY_FINDNETWORK_LOCATION",          false},
444     {"ohos.permission.REGISTER_FINDNETWORK_ACCESSORY",      false},
445     {"ohos.permission.INJECT_INPUT_EVENT",              false},
446     {"ohos.permission.ACCESS_SUBSCRIPTION_CAPSULE_DATA",              false},
447     {"ohos.permission.PRE_START_ATOMIC_SERVICE",            false},
448     {"ohos.permission.UPDATE_CALENDAR_RRULE",            false},
449     {"ohos.permission.QUERY_SECURITY_EVENT",                        false},
450     {"ohos.permission.REPORT_SECURITY_EVENT",                       false},
451     {"ohos.permission.QUERY_SECURITY_MODEL_RESULT",                 false},
452     {"ohos.permission.MANAGE_SECURITY_GUARD_CONFIG",                false},
453     {"ohos.permission.COLLECT_SECURITY_EVENT",                      false},
454     {"ohos.permission.QUERY_AUDIT_EVENT",                           false},
455     {"ohos.permission.QUERY_SECURITY_POLICY_FROM_CLOUD",            false},
456     {"ohos.permission.REPORT_SECURITY_EVENT_TO_CLOUD",              false},
457     {"ohos.permission.CONNECT_FORM_EXTENSION",              false},
458     {"ohos.permission.CONNECT_WORK_SCHEDULER_EXTENSION",    false},
459     {"ohos.permission.CONNECT_INPUT_METHOD_EXTENSION",      false},
460     {"ohos.permission.CONNECT_ACCESSIBILITY_EXTENSION",     false},
461     {"ohos.permission.CONNECT_STATIC_SUBSCRIBER_EXTENSION", false},
462     {"ohos.permission.CONNECT_WALLPAPER_EXTENSION",         false},
463     {"ohos.permission.CONNECT_BACKUP_EXTENSION",            false},
464     {"ohos.permission.CONNECT_ENTERPRISE_ADMIN_EXTENSION",  false},
465     {"ohos.permission.CONNECT_FILE_ACCESS_EXTENSION",       false},
466     {"ohos.permission.CONNECT_PRINT_EXTENSION",             false},
467     {"ohos.permission.CONNECT_DRIVER_EXTENSION",            false},
468     {"ohos.permission.CONNECT_APP_ACCOUNT_AUTHORIZATION_EXTENSION",    false},
469     {"ohos.permission.CONNECT_REMOTE_NOTIFICATION_EXTENSION",          false},
470     {"ohos.permission.CONNECT_REMOTE_LOCATION_EXTENSION",   false},
471     {"ohos.permission.CONNECT_VPN_EXTENSION",               false},
472     {"ohos.permission.KILL_PROCESS_DEPENDED_ON_ARKWEB",     false},
473     {"ohos.permission.CONTROL_LOCATION_SWITCH",               false},
474     {"ohos.permission.MOCK_LOCATION",     false},
475     {"ohos.permission.ALLOW_TIPS_ACCESS",   false},
476     {"ohos.permission.ACCESS_SCAN_SERVICE",                 false},
477     {"ohos.permission.ACCESS_FACTORY_OTA_DIR",   false},
478     {"ohos.permission.MICROPHONE_CONTROL",   false},
479     {"ohos.permission.MANAGE_MOUSE_CURSOR",                 false},
480     {"ohos.permission.FILTER_INPUT_EVENT",                  false},
481     {"ohos.permission.INPUT_PANEL_STATUS_PUBLISHER",        false},
482     {"ohos.permission.RECEIVE_FUSION_MESSAGES",             false},
483     {"ohos.permission.ACCESS_FUSION_MANAGER",               false},
484     {"ohos.permission.PUBLISH_LOCATION_EVENT",              false},
485     {"ohos.permission.DUMP_AUDIO",        false},
486     {"ohos.permission.ACTIVATE_DEVICE_PSI",                 false},
487     {"ohos.permission.ACCESS_MULTICORE_HYBRID_ABILITY",     false},
488     {"ohos.permission.GET_ALL_PROCESSES",     false},
489     {"ohos.permission.OPEN_FILE",     false},
490     {"ohos.permission.PROCESS_FILE_COPY_PASTE",         false},
491     {"ohos.permission.CLEAR_RECYCLEBIN",                      false},
492     {"ohos.permission.GET_FILE_THUMBNAIL",                  false},
493     {"ohos.permission.PUBLISH_DISPLAY_ROTATION_EVENT",                      false},
494     {"ohos.permission.PUBLISH_CAST_PLUGGED_EVENT",                  false},
495     {"ohos.permission.ACCESS_BBOX_DIR",               false},
496     {"ohos.permission.ACCESS_CAR_DISTRIBUTED_ENGINE",       false},
497     {"ohos.permission.START_RESTORE_NOTIFICATION",          false},
498     {"ohos.permission.ALLOW_CONNECT_CAR",                   false},
499     {"ohos.permission.ALLOW_SHOW_NON_SECURE_WINDOWS",       false},
500     {"ohos.permission.GRANT_SHORT_TERM_WRITE_MEDIAVIDEO",       false},
501     {"ohos.permission.MANAGE_ACCESSORY",                    false},
502     {"ohos.permission.COLLECT_ACCESSORY_LOG",               false},
503     {"ohos.permission.CAMERA_BACKGROUND",                   false},
504     {"ohos.permission.CONNECT_PUSH_EXTENSION",              false},
505     {"ohos.permission.CONNECT_VOIP_EXTENSION",              false},
506     {"ohos.permission.ACCESS_IDM_WIDGET",                   false},
507     {"ohos.permission.ACCESS_ANALYTICS",                    false},
508     {"ohos.permission.WINDOW_TOPMOST",                      false},
509     {"ohos.permission.GET_ETHERNET_LOCAL_MAC",              false},
510     {"ohos.permission.NETWORK_DHCP",                        false},
511     {"ohos.permission.ACCESS_APP_INSTALL_DIR",              false},
512     {"ohos.permission.INSTALL_INTERNALTESTING_BUNDLE",     false},
513     {"ohos.permission.MANAGE_UDMF_APP_SHARE_OPTION",        false},
514     {"ohos.permission.MANAGE_PASTEBOARD_APP_SHARE_OPTION",  false},
515     {"ohos.permission.kernel.DISABLE_CODE_MEMORY_PROTECTION", false},
516     {"ohos.permission.kernel.ALLOW_WRITABLE_CODE_MEMORY",   false},
517     {"ohos.permission.kernel.ALLOW_EXECUTABLE_FORT_MEMORY", false},
518     {"ohos.permission.CALLED_UIEXTENSION_ON_LOCK_SCREEN",   false},
519 };
520 
TransferPermissionToOpcode(const std::string & permission,uint32_t & opCode)521 bool TransferPermissionToOpcode(const std::string& permission, uint32_t& opCode)
522 {
523     size_t size = g_permMap.size();
524     for (size_t i = 0; i < size; i++) {
525         std::pair it = g_permMap[i];
526         if (permission == it.first) {
527             opCode = i;
528             return true;
529         }
530     }
531     return false;
532 }
533 
TransferOpcodeToPermission(uint32_t opCode,std::string & permission)534 bool TransferOpcodeToPermission(uint32_t opCode, std::string& permission)
535 {
536     if (opCode >= MAX_PERM_SIZE || opCode >= g_permMap.size()) {
537         return false;
538     }
539     permission = g_permMap[opCode].first;
540     return true;
541 }
542 } // namespace AccessToken
543 } // namespace Security
544 } // namespace OHOS
545