| typeattribute keystore coredomain; |
| |
| init_daemon_domain(keystore) |
| |
| # talk to keymaster |
| hal_client_domain(keystore, hal_keymaster) |
| |
| # talk to confirmationui |
| hal_client_domain(keystore, hal_confirmationui) |
| |
| # talk to keymint |
| hal_client_domain(keystore, hal_keymint) |
| |
| # This is used for the ConfirmationUI async callback. |
| allow keystore platform_app:binder call; |
| |
| # Allow to check whether security logging is enabled. |
| get_prop(keystore, device_logging_prop) |
| |
| # Allow keystore to check if the system is rkp only. |
| get_prop(keystore, remote_prov_prop) |
| |
| # Allow keystore to write to statsd. |
| unix_socket_send(keystore, statsdw, statsd) |
| |
| # Keystore need access to the keystore_key context files to load the keystore key backend. |
| allow keystore keystore2_key_contexts_file:file r_file_perms; |
| |
| get_prop(keystore, keystore_listen_prop) |
| |
| # Keystore needs to transfer binder references to vold so that it |
| # can call keystore methods on those references. |
| allow keystore vold:binder transfer; |
| |
| # Only keystore can set keystore.crash_count system property. Since init is allowed to set any |
| # system property, an exception is added for init as well. |
| set_prop(keystore, keystore_crash_prop) |
| neverallow { domain -keystore -init } keystore_crash_prop:property_service set; |