實作已簽署的設定

已簽署設定功能可允許嵌入非 SDK 介面限制的嵌入設定 。如此一來,您就能將特定非 SDK 介面從黑名單中移除, 以便 AndroidX 安全使用這可讓 AndroidX 團隊新增支援 以便瞭解 Android 版本推出的新功能是 支援 Android 10 以上版本。

妥善支援 Signed Config,可確保 AndroidX 程式庫 功能。

這項功能無法自訂。Android 開放原始碼計畫提供完整支援 也不需要由原始設備製造商 (OEM) 努力提供支援

範例和來源

功能實作是在位於以下位置的系統伺服器: frameworks/base/services/core/java/com/android/server/signedconfig。康乃狄克州 測試 CtsSignedConfigHostTestCases 包含用途範例 容器設定 cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml

實作

開發人員無須費心即可支援這項功能,也不需要特定硬體 Google Cloud 就是最佳選擇

這項功能會使用兩個應用程式中繼資料鍵嵌入設定, APK 內的簽章。這些索引鍵為 android.settings.globalandroid.settings.global.signature。如果 AndroidX 程式庫需要或關閉 日後將從黑名單中移除的非 SDK 介面 這些金鑰會由 Android 團隊和/或 AndroidX 中發布。

APK 中繼資料索引鍵 android.settings.globalandroid.settings.global.signature 皆包含 Base-64 編碼資料。這個鍵 鍵 android.settings.global 是要套用 JSON 編碼的設定值 SettingsProvider 中的全域設定請注意, android.settings.global.signature 是 JSON 資料的 ECDSA-p256 簽章。 簽章可用來驗證設定資料的來源,

使用者不會看到這項功能。

自訂

這項功能並非用於自訂功能。不建議 OEM 使用 包括更換鍵對資料有任何變更 可能會導致 AndroidX 在

驗證

CTS 測試 CtsSignedConfigHostTestCases 會驗證功能實作結果。

您也可以安裝適合的 APK 並手動測試這項功能 檢查 adb logcat 輸出內容:

$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...