diff options
author | William Roberts <w.roberts@sta.samsung.com> | 2012-12-06 05:45:15 +0900 |
---|---|---|
committer | William Roberts <w.roberts@sta.samsung.com> | 2012-12-08 09:26:37 +0900 |
commit | 22fc04103b70dd5a1cb1b5a8309ef20461e06289 (patch) | |
tree | b60629ea7ee7eb90b6e56a3663add3aac6ef305b /README | |
parent | 2c8a55dcf4e571c198118dd4459d62894f6378f3 (diff) | |
download | sepolicy-22fc04103b70dd5a1cb1b5a8309ef20461e06289.tar.gz |
Dynamic insertion of pubkey to mac_permissions.xml
Support the inseretion of the public key from pem
files into the mac_permissions.xml file at build
time.
Change-Id: Ia42b6cba39bf93723ed3fb85236eb8f80a08962a
Diffstat (limited to 'README')
-rw-r--r-- | README | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -56,3 +56,47 @@ BOARD_SEPOLICY_UNION := \ genfs_contexts \ file_contexts \ sepolicy.te + +SPECIFIC POLICY FILE INFORMATION + +mac_permissions.xml: + ABOUT: + The mac_permissions.xml file is used for controlling the mmac solutions + as well as mapping a public base16 signing key with an arbitrary seinfo + string. Details of the files contents can be found in a comment at the + top of that file. The seinfo string, previously mentioned, is the same string + that is referenced in seapp_contexts. + + This file can be replaced through BOARD_SEPOLICY_REPLACE containing the + value "mac_permissions.xml", however, appending (UNION) does NOT exist + and will cause a build time failure. It is important to note the final + processed version of this file is stripped of comments and whitespace. + This is to preserve space on the system.img. If one wishes to view it in + a more human friendly format, the "tidy" or "xmllint" command will assist + you. + + TOOLING: + insertkeys.py + Is a helper script for mapping arbitrary tags in the signature stanzas of + mac_permissions.xml to public keys found in pem files. This script takes + a mac_permissions.xml file and configuration file in order to operate. + Details of the configuration file (keys.conf) can be found in the subsection + keys.conf. This script is also responsible for stipping the comments and + whitespace from the xml file. + + keys.conf + The keys.conf file is used for controlling the mapping of "tags" found in + the mac_permissions.xml signature stanzas with actual public keys found in + pem files. The configuration file can be used in BOARD_SEPOLICY_UNION and + BOARD_SEPOLICY_REPLACE variables and is processed via m4. + + The script allows for mapping any string contained in TARGET_BUILD_VARIANT + with specific path to a pem file. Typically TARGET_BUILD_VARIANT is either + user, eng or userdebug. Additionally, one can specify "ALL" to map a path to + any string specified in TARGET_BUILD_VARIANT. All tags are matched verbatim + and all options are matched lowercase. The options are "tolowered" automatically + for the user, it is convention to specify tags and options in all uppercase + and tags start with @. + + NOTE: The pem files are base64 encoded and PackageManagerService, mac_permissions.xml + and setool all use base16 encodings. |