# Keystore 2.0 key contexts.
# This file defines Keystore 2.0 namespaces and maps them to labels.
# Format:
# <namespace> <label>
#
# <namespace> must be an integer in the interval [0 ...  2^31)
# su_key is a keystore2_key namespace for the su domain intended for native tests.
0              u:object_r:su_key:s0

# shell_key is a keystore2_key namespace for the shell domain intended for native tests.
1              u:object_r:shell_key:s0

# vold_key is a keystore2_key namespace for vold. It allows using raw Keymint blobs.
100            u:object_r:vold_key:s0

# odsign_key is a keystore2_key namespace for the on-device signing daemon.
101            u:object_r:odsign_key:s0

# wifi_key is a keystore2_key namespace for the WI-FI subsystem. It replaces the WIFI_UID
# namespace in keystore.
102            u:object_r:wifi_key:s0

# locksettings_key is a keystore2_key namespace for the LockSettingsService.
103            u:object_r:locksettings_key:s0

# resume_on_reboot_key is a keystore2_key namespace intended for resume on reboot.
120            u:object_r:resume_on_reboot_key:s0

