DSU installation service fetches a key revocation list (key blacklist).
Revocation list is a https URL specified in a resource string.
Fetched result is cached in HttpResponseCache to save bandwidth, and the
cached result is always forced validated with server to ensure freshness.
In other words, fetching a revocation list is done via a "conditional GET",
such http GET returns a brief (304 NOT MODIFIED) response if ours cache is
still valid, else the server sends a (200 OK) response with new data.
TODO: Compare the installed DSU image's public key with the revocation
list and boot-ramdisk. If the public key is revoked then abort installation.
Bug: 128892201
Test: atest DynamicSystemInstallationServiceTests
Test: adb shell am start-activity \
-n com.android.dynsystem/com.android.dynsystem.VerificationActivity \
-a android.os.image.action.START_INSTALL \
--el KEY_USERDATA_SIZE 8589934592 \
-d file:///storage/emulated/0/Download/aosp_arm64-dsu_test.zip \
--es KEY_PUBKEY key1
Change-Id: I29ae088acb1bd23336ec09654f38b4fc464316d8
42 lines
2.4 KiB
XML
42 lines
2.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<resources>
|
|
<!-- application name [CHAR LIMIT=32] -->
|
|
<string name="app_name">Dynamic System Updates</string>
|
|
|
|
<!-- notification channel name [CHAR LIMIT=32] -->
|
|
<string name="notification_channel_name">Dynamic System Updates</string>
|
|
|
|
<!-- password page title [CHAR LIMIT=32] -->
|
|
<string name="keyguard_title">Dynamic System Updates</string>
|
|
|
|
<!-- password page description [CHAR LIMIT=128] -->
|
|
<string name="keyguard_description">Please enter your password and continue to Dynamic System Updates</string>
|
|
|
|
<!-- Displayed on notification: Dynamic System is ready [CHAR LIMIT=128] -->
|
|
<string name="notification_install_completed">Dynamic system is ready. To start using it, restart your device.</string>
|
|
<!-- Displayed on notification: Dynamic System Updates is in progress [CHAR LIMIT=128] -->
|
|
<string name="notification_install_inprogress">Install in progress</string>
|
|
<!-- Displayed on notification: Dynamic System installation failed [CHAR LIMIT=128] -->
|
|
<string name="notification_install_failed">Install failed</string>
|
|
<!-- Displayed on notification: We are running in Dynamic System [CHAR LIMIT=128] -->
|
|
<string name="notification_dynsystem_in_use">Currently running a dynamic system. Restart to use the original Android version.</string>
|
|
|
|
<!-- Action on notification: Cancel installation [CHAR LIMIT=16] -->
|
|
<string name="notification_action_cancel">Cancel</string>
|
|
<!-- Action on notification: Discard installation [CHAR LIMIT=16] -->
|
|
<string name="notification_action_discard">Discard</string>
|
|
<!-- Action on notification: Uninstall Dynamic System [CHAR LIMIT=16] -->
|
|
<string name="notification_action_uninstall">Uninstall</string>
|
|
<!-- Action on notification: Restart to Dynamic System [CHAR LIMIT=16] -->
|
|
<string name="notification_action_reboot_to_dynsystem">Restart</string>
|
|
|
|
<!-- Toast when installed Dynamic System is discarded [CHAR LIMIT=64] -->
|
|
<string name="toast_dynsystem_discarded">Discarded dynamic system</string>
|
|
<!-- Toast when we fail to launch into Dynamic System [CHAR LIMIT=64] -->
|
|
<string name="toast_failed_to_reboot_to_dynsystem">Can\u2019t restart or load dynamic system</string>
|
|
|
|
<!-- URL of Dynamic System Key Revocation List [DO NOT TRANSLATE] -->
|
|
<string name="key_revocation_list_url" translatable="false">https://dl.google.com/developers/android/gsi/gsi-keyblacklist.json</string>
|
|
|
|
</resources>
|