Update the docs to explain new behavior. Bug: 327469700 Test: presubmit Change-Id: I9004e30410374db7bdc8468a940f88f9e34fa663
73 lines
3.4 KiB
XML
73 lines
3.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
~ Copyright (C) 2024 The Android Open Source Project
|
|
~
|
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
~ you may not use this file except in compliance with the License.
|
|
~ You may obtain a copy of the License at
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
~ See the License for the specific language governing permissions and
|
|
~ limitations under the License.
|
|
-->
|
|
|
|
<!--
|
|
This XML defines an allowlist of packages that should be exempt from ECM (Enhanced Confirmation
|
|
Mode).
|
|
|
|
Example usage:
|
|
|
|
<enhanced-confirmation-trusted-package
|
|
package="com.example.app"
|
|
sha256-cert-digest="E9:7A:BC:2C:D1:CA:8D:58:6A:57:0B:8C:F8:60:AA:D2:8D:13:30:2A:FB:C9:00:2C:5D:53:B2:6C:09:A4:85:A0"/>
|
|
...
|
|
|
|
<enhanced-confirmation-trusted-installer
|
|
package="com.example.installer"
|
|
sha256-cert-digest="E9:7A:BC:2C:D1:CA:8D:58:6A:57:0B:8C:F8:60:AA:D2:8D:13:30:2A:FB:C9:00:2C:5D:53:B2:6C:09:A4:85:A0"/>
|
|
...
|
|
|
|
The <enhanced-confirmation-trusted-package> entry shown in the above example indicates that
|
|
"com.example.app" should be considered a "trusted package". A "trusted package" will be exempt from
|
|
ECM restrictions.
|
|
|
|
The <enhanced-confirmation-trusted-installer> entry shown in the above example indicates that
|
|
"com.example.app" should be considered a "trusted installer". Apps installed by "trusted installers"
|
|
will be exempt from ECM restrictions, with conditions explained in the next few paragraphs.
|
|
|
|
If zero <enhanced-confirmation-trusted-installer> entries are declared, then *all* packages will be
|
|
exempt from ECM restrictions, except apps meeting *all* of the following criteria:
|
|
|
|
A. The app is not pre-installed, and
|
|
B. The app has no matching <enhanced-confirmation-trusted-package> entries declared, and
|
|
C. The app is marked by its installer as coming from an untrustworthy package source.
|
|
|
|
(For example, an installer may set an app's package source to
|
|
PackageInstaller.PACKAGE_SOURCE_DOWNLOADED_FILE or PackageInstaller.PACKAGE_SOURCE_LOCAL_FILE,
|
|
which are considered untrustworthy.)
|
|
|
|
If one or more <enhanced-confirmation-trusted-installer> entries are declared, then packages must,
|
|
in order to be exempt from ECM, meet at least one of the following criteria:
|
|
|
|
A. Be installed by an installer with a matching <enhanced-confirmation-trusted-installer> entry
|
|
declared, and be marked as coming from an "trustworthy" package source by the installer, or
|
|
B. Be installed via a pre-installed installer, and be marked as coming from a "trustworthy"
|
|
package source by the installer, or
|
|
C. Have a matching <enhanced-confirmation-trusted-package> entry declared.
|
|
|
|
For either type of XML element:
|
|
|
|
- The "package" XML attribute refers to the app's package name.
|
|
- The "sha256-cert-digest" XML attribute refers to the SHA-256 hash of an app signing certificate.
|
|
|
|
For any entry to successfully apply to a package, both XML attributes must be present, and must
|
|
match the package. That is, the package name must match the "package" attribute, and the app must be
|
|
signed by the signing certificate identified by the "sha256-cert-digest" attribute.
|
|
-->
|
|
|
|
<config></config>
|