From: Gabriele M <[email protected]> The applications built from Replicant are signed with a key that is generated during the build procedure The issue is that the data of an application becomes inaccessible to it if the application signature change. This affects all the applications built during and signed during the build of Replicant images, which includes all system applications.
This is why, during the installation of a new Replicant version, the otasigcheck.sh is run: it verifies if the application signatures expected by the applications data match the signatures of the new applications that are part of the new Replicant image being installed. Without this check, users installing a new Replicant minor version (like Replicant 6.0 0004) and keeping the data from the previous minor version (like Replicant 6.0 0003) with a key that change will make at least some system applications like the launcher crash as they will not be able to access their data. If the check detects an incompatibility, on a Galaxy SIII (GT-I9300), we end up the installation aborting and the following message being displayed on the screen: detected filesystem ext4 for /dev/block/mmcblk0p12 Can't install this package on top of incompatible data. Ples se try another package or run a factory test E:Failed to install /sideload/package.zip E:Please take note of all the above lines for reports. This design has several issues: - You cannot upgrade between Replicant minor versions if the keys signing applications shipped in the new version changed. This is really problematic as to upgrade, users need to delete all their application data and restart creating them from scratch which is very time consuming. With frequent updates that would becomes too much time consuming to do. - It is also very fragile: if the data partition is encrypted, otasigcheck.sh cannot do the check, and the check is skipped completely, with the consequences explained before (the system applications end up not being able to access their data). To fix that: - This patch adds a new script (key-migration.sh) to this repository. It takes care of migrating the applications data to the new keys during the first boot (so after the data partition will have been mounted). - The call to otasigcheck.sh during the installation of new Replicant versions will be removed in the build repository. - otasigcheck.sh will be removed in this repository in the next commit. - A python script generating this key-migration.sh script will be added to the vendor_replicant-scripts repository to enable users and developers to generate a key-migration.sh script with the keys they want. This should make downgrade easier as the key-migration.sh could also be run manually in the recovery and make the migration to self-built images much easier. Also, the otasigcheck.sh script has already been removed in LineageOS 17.1 by the following commit in vendor/lineage: commit 95621f3c73b94a87ca4528748535bb114ae1613f Author: Michael Bestas <[email protected]> Date: Sat Aug 4 17:46:35 2018 +0300 Revert "ota: Validate any installed data's signature against our own" * otasigcheck doesn't work on encrypted devices and makes the zip installation fail since oreo. * The build part of this was never ported to oreo. This reverts commit aff5e54c4ef5fec7e67e830f83ee64424005d07c. Change-Id: I411f33c1db64844091c1692ef4706ae541925d4f This key-migration.sh script has been generated by the following command in the Replicant source code directory: $ ./vendor/replicant-scripts/images/gen_key_migration_script/gen_key_migration_script.py \ gen-script \ vendor/replicant/prebuilt/common/bin/key-migration.sh \ vendor/replicant-data/distros/releases/certificates/ \ vendor/replicant-security/ This work is based on the following commit from the android_vendor_cm repository[1]: 2f7c7decc Add startup script to update the package signatures commit 2f7c7decc4cd5b42f044a7841a74468e4cacd694 (refs/changes/27/156327/3) Author: Gabriele M <[email protected]> Date: Fri Jan 13 17:03:45 2017 +0100 Add startup script to update the package signatures This allows to jump straight to LineageOS without wiping userdata first. Change-Id: I208bcada9380cbd69f3bec6c64e3c9e0eb1104c8 [1] https://github.com/LineageOS/android_vendor_cm.git Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]> --- config/common.mk | 4 + prebuilt/common/Android.mk | 7 + prebuilt/common/bin/keys-migration.sh | 297 ++++++++++++++++++++++++++ prebuilt/common/etc/init.local.rc | 7 + 4 files changed, 315 insertions(+) create mode 100644 prebuilt/common/bin/keys-migration.sh diff --git a/config/common.mk b/config/common.mk index 930d1a29..f7f2e23c 100644 --- a/config/common.mk +++ b/config/common.mk @@ -234,6 +234,10 @@ PRODUCT_PACKAGES += \ endif endif +# test-keys migration script +PRODUCT_PACKAGES += \ + keys-migration.sh + DEVICE_PACKAGE_OVERLAYS += vendor/replicant/overlay/common ifeq ($(USE_OPENGL_RENDERER),true) diff --git a/prebuilt/common/Android.mk b/prebuilt/common/Android.mk index f15b178c..d700e70b 100644 --- a/prebuilt/common/Android.mk +++ b/prebuilt/common/Android.mk @@ -8,3 +8,10 @@ LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := EXECUTABLES LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := keys-migration.sh +LOCAL_SRC_FILES := bin/keys-migration.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +include $(BUILD_PREBUILT) diff --git a/prebuilt/common/bin/keys-migration.sh b/prebuilt/common/bin/keys-migration.sh new file mode 100644 index 00000000..78324af1 --- /dev/null +++ b/prebuilt/common/bin/keys-migration.sh @@ -0,0 +1,297 @@ +#!/system/bin/sh +# Copyright (C) 2017 Gabriele M <[email protected]> +# Copyright (C) 2020 Denis 'GNUtoo' Carikli <[email protected]> +# +# 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. + +PACKAGES=/data/system/packages.xml +PACKAGES_BACKUP=/data/system/packages-backup.xml +MIGRATION_DONE=/data/system/.keys-migration-done + +if [ -f ${MIGRATION_DONE} ]; then + exit 0 +fi + +if [ ! -f ${PACKAGES_BACKUP} ] && [ ! -f ${PACKAGES} ]; then + touch ${MIGRATION_DONE} + exit 0 +fi + +if [ -f ${PACKAGES_BACKUP} ]; then + mv ${PACKAGES_BACKUP} ${PACKAGES} +fi + +##################### +# Certificates keys # +##################### + +old_replicant-6.0-0004-rc2_com_android_providers_media_DER_cert_key='308203d4308202bca003020102020900d57a7110a410312f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100a8ff7765d2055dd75e77bc0beeff6231e7ed2405e7600c0a469f2658f4343d160f18509256a97536dbf7c3758b96a9662c04700e56ece175064be6629bbdfc9c459a6a1db4949fa54b890449a3d60c274e6941aec4cfc38aba6ddabab4a316bb616a e2b09bda9d0de931cc4d8070230db650b410839774d8e527f9f8cdbae449cf2ae1ac8b0ee10ea2c57d69cb4d42e0d69086b7b32a08e333941ae6e00353051133c130ef80434b29b9822d12ce559c932bf38c129dc0f303aafdd5a1cbf6e90fe22a22b118d2fc6f41c1eac73a0bd94a40c4fbcf7da3f4c3cf578e4f8b5c596a5d4a9b946d06e3d904e0effec1f2c2bd2ac038bcd8c324f925558c5a68600d0203010001a3533051301d0603551d0e04160414f88447b8dffe416ea7ce178475e310108196be83301f0603551d23041830168014f88447b8dffe416ea7ce178475e310108196be83300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003cfeec97d317c62e373d53b0550cea1fbf407d17663eb9905b7a57cd8ccbd325c2968e6f0851e39be5ab1d03707c96ee78dcf4e59ab1de37d39bdd4c64346c5f9d2b18502d2ddf3dfcac7d54da5d4cee5ed052daeedf85909de4f8c8c18c592d478902a93868ca41daf55d6a96a688eacf3356e8378f9423a10f83dcf84770e945340f8043c264a7fe3e6ead5f0a776cad59132b48996697cb7895c0c72c16f4868f11a202d0167b415580943f53d63d0db249f0186b4d8c9c336c21bf28e14c9b0dd2597008ea39875655efa08760019d8e1d61ab6ee4c995c1beb7f06f4e6ed7ffa 493d085735a716ee4d4eb3faa7bbe2e91f0c21cc8aacaa5907a85f127b5' + +old_replicant-6.0-0004-rc1_com_android_providers_media_DER_cert_key='308203d4308202bca003020102020900b41cf6eb059ed37c300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733385a170d3437303431303133303733385a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100e9e345242e63f4f28aa303269e7aa0b0edcd4280899056df6853cf6f01f6949e22153693cc0a3b2315111dfcf9331f83d0c982c060709668fca02fd232cf20a5becc6a97d766771ea664c0e095c525b26907c9823418c4f1a64458b42d5538f64706 218ff9072ce45319fe6e4cf3e171a2f261d2bffe198671aa37ca2e7646050f8564e36ad5d9f48a2d762ed1be3199c05d287aed5da2b7c72a23aea823c7824b7ba70da53d90eda68b98fd988fba92cfe4c795d8f1916f690cfe9c6acd7f6213e9cf61d146d50d3395e0a7ff49e115aa41c0a828b7fbaa01791ad2329a4660ff31d74a7f005216c3ad5e0a51c096782061a1f9aa4546f6534a7e702fd36b570203010001a3533051301d0603551d0e041604147b3e0d83afa1eb9b5d05e1ed9e03787226ed87ce301f0603551d230418301680147b3e0d83afa1eb9b5d05e1ed9e03787226ed87ce300f0603551d130101ff040530030101ff300d06092a864886f70d01010505000382010100da17e79294886f2e55422a0b3c628d7e57e946b9167a74cf5689b5f559dcd01cf63f1d5e7e2d72bfe3696c3932f355a7084c1731eeb9ec2725b179518995e21c1496f1d6647788d9baf2a2a321ee396fe14b93b74a1c1b5f1a2200207954ab3fd6f4bf2c50e24c2d6088d2295fd252a060c9a0331a63d44c4ee0f7320ff5d1de7b34f26f525ab8e9c2e6627f29be878032a81848386cb645e271645d3bb92dad6406a4b2f5af1aa2a92a538a4d0f2d582d0c3b72dee74c45181d4aebc418e79bba54d65d4a338f48af85bac73e9f9baacef020ac7c6cff63c575bb1283c632b3e6b90 25bc59aeff2a12032bb46dc871871102aa3eed601a6af9632087ea83127' + +old_replicant-6.0-0001_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2 d66c2af57bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba 7d2891a5e12fc859644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd' + +old_replicant-6.0-0003_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2 d66c2af57bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba 7d2891a5e12fc859644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd' + +old_replicant-6.0-0002_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2 d66c2af57bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba 7d2891a5e12fc859644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd' + +new_com_android_providers_media_DER_cert_key='308203d4308202bca003020102020900d57a7110a410312f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100a8ff7765d2055dd75e77bc0beeff6231e7ed2405e7600c0a469f2658f4343d160f18509256a97536dbf7c3758b96a9662c04700e56ece175064be6629bbdfc9c459a6a1db4949fa54b890449a3d60c274e6941aec4cfc38aba6ddabab4a316bb616ae2b09bda9d0de931cc4d807 0230db650b410839774d8e527f9f8cdbae449cf2ae1ac8b0ee10ea2c57d69cb4d42e0d69086b7b32a08e333941ae6e00353051133c130ef80434b29b9822d12ce559c932bf38c129dc0f303aafdd5a1cbf6e90fe22a22b118d2fc6f41c1eac73a0bd94a40c4fbcf7da3f4c3cf578e4f8b5c596a5d4a9b946d06e3d904e0effec1f2c2bd2ac038bcd8c324f925558c5a68600d0203010001a3533051301d0603551d0e04160414f88447b8dffe416ea7ce178475e310108196be83301f0603551d23041830168014f88447b8dffe416ea7ce178475e310108196be83300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003cfeec97d317c62e373d53b0550cea1fbf407d17663eb9905b7a57cd8ccbd325c2968e6f0851e39be5ab1d03707c96ee78dcf4e59ab1de37d39bdd4c64346c5f9d2b18502d2ddf3dfcac7d54da5d4cee5ed052daeedf85909de4f8c8c18c592d478902a93868ca41daf55d6a96a688eacf3356e8378f9423a10f83dcf84770e945340f8043c264a7fe3e6ead5f0a776cad59132b48996697cb7895c0c72c16f4868f11a202d0167b415580943f53d63d0db249f0186b4d8c9c336c21bf28e14c9b0dd2597008ea39875655efa08760019d8e1d61ab6ee4c995c1beb7f06f4e6ed7ffa493d085735a716ee4d4eb3f aa7bbe2e91f0c21cc8aacaa5907a85f127b5' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_media_DER_cert_key}/${new_com_android_providers_media_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_media_DER_cert_key}/${new_com_android_providers_media_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_media_DER_cert_key}/${new_com_android_providers_media_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_media_DER_cert_key}/${new_com_android_providers_media_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_media_DER_cert_key}/${new_com_android_providers_media_DER_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_providers_telephony_DER_cert_key='308203d4308202bca003020102020900a7eed21fab90ce78300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100d4e89e2e93852da872bd4183a09841d069cb35f27ba9ff95120e7dbd6e74ca1159023d07b1e141cd74b2f8f56d908000baa2325df3f0820d2501f9cf879a16da0bc1a96e9d4d90b50cf1fce05837142aaed93f9f117a5d45a7e95a32c6da859f 82ea565a0f5883f407f45b7d2db4cc2c68976bf3a99957f1dda26b5bf1333dd50c47cef1b99989792a130b554282ffe592a9dfb7cc7126bb7ee37b17cf938a339e886b76ab74121d071ae5c2f0c23f8e85a77e75af1d7e453a52060ef30c18916892db45026d700e9b12966b8b296c967767002878e635ca0eb615e799349b90e1f998fe05164afbf7b23e4d89099a7fa60756b7a1da42fcfdff09565e117d950203010001a3533051301d0603551d0e04160414139d988da8c93805513d90849241c8cc06a12a15301f0603551d23041830168014139d988da8c93805513d90849241c8cc06a12a15300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010080d4c43e052da860ff66ca8b3b4b2f62ab9fb37905ad831553822d01fd28c3a9d2fd9106ee1f03f3bcc7387aca126873fc00ee45246910054a96f39998e4a368d6895e32c0cf64c18da12b574642b3df66c051aa7749159ca041426403850c6da062beca9d94f800a6f2cb1f0498c29766d3e9773fbd422a35b414fd31daea081c001ad69a701b1495380ee53601d741f88abeafe535d2cae30216493d4d0036ea77f4348b2692c3759e9cb2157d4ce9460e68d38e02fb5861d5cefad992a2ff7de6e20e8588bf552e27069141ca5d6498ee4730863ecb1642932a35baab5e0a5 f445d7cd48c3eb0519b43e1cf78e5b0b501a9b54dda498162a3eaeccb61cc28' + +old_replicant-6.0-0004-rc1_com_android_providers_telephony_DER_cert_key='308203d4308202bca003020102020900ea5a9d85247b4c6e300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733375a170d3437303431303133303733375a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100cab471d69c8b9e3839477d72e6ffc90c8a741c2f08be74ad6fdc8d96ed222952bdac7f4cc11b9a5974abe69d9982678bbb0d08ac96d2c88aade1d33e3c612eb343bc390f9b60f4034370e89cfa1a0a002fab1f8c4a59fde445646b70423afc6d a6ee35336ab8ba59184a7cd812637aa4a6b5889be1ed8d4e6f0b49b954615ba648b8daba8eec3cf8073bcf712588146ca74c106e1003bd0fe3527a90580d943a9e5a235ff65e8e8c2dd3c6ba07530ec8f27cc91a5cad677abacbaee18b85a6338276b00a2560d2b3acab910a48f97fdb20505dc1a2d2827a8e0fd8cdba7477b2a013fd07a81de894e346d3e06cb727478be0d712d5da2670e4cd52988eb3decb0203010001a3533051301d0603551d0e04160414452bfea50647b72e7e167ed724d232a95d2f2b38301f0603551d23041830168014452bfea50647b72e7e167ed724d232a95d2f2b38300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003ddaf07bc3f14e5c0a389123b0feb50f239e9f8ae6f5f6295ac7012cc6ebbcb0e68aa40747b8e2d4d9cfc9bc68d24616bfab4de337fd2cedff6759215adaba16890d9d568138bfbce64ee846be79942ecc47fffb84cd25aab61fde1c82123e08d07f5ac33fa25606a3591ac2b5ddd85e7db6ba1ca14ae6b0293f9a48b71b33938ea98f5a7bf12b367676b6baed9a6763dd8e1138c23b949682ea2cc0d7c70fe4b28550854321e08d0b214a3513897e50b3a15e0d8e99a363a52ffe1932f78f3e1238256990b2171a018565f8b4979e04dbb7fbdb30e7731191c336aed79e4e149 6428d3bd82c7ac24bfa06927aaa56a883fb6d3115c68176ea46fe35f7b4c214' + +old_replicant-6.0-0001_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb4 27e01ba136b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c6037 0d588922692a9e0fd33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167' + +old_replicant-6.0-0003_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb4 27e01ba136b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c6037 0d588922692a9e0fd33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167' + +old_replicant-6.0-0002_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb4 27e01ba136b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c6037 0d588922692a9e0fd33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167' + +new_com_android_providers_telephony_DER_cert_key='308203d4308202bca003020102020900a7eed21fab90ce78300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100d4e89e2e93852da872bd4183a09841d069cb35f27ba9ff95120e7dbd6e74ca1159023d07b1e141cd74b2f8f56d908000baa2325df3f0820d2501f9cf879a16da0bc1a96e9d4d90b50cf1fce05837142aaed93f9f117a5d45a7e95a32c6da859f82ea565a0f5883f407f45b7 d2db4cc2c68976bf3a99957f1dda26b5bf1333dd50c47cef1b99989792a130b554282ffe592a9dfb7cc7126bb7ee37b17cf938a339e886b76ab74121d071ae5c2f0c23f8e85a77e75af1d7e453a52060ef30c18916892db45026d700e9b12966b8b296c967767002878e635ca0eb615e799349b90e1f998fe05164afbf7b23e4d89099a7fa60756b7a1da42fcfdff09565e117d950203010001a3533051301d0603551d0e04160414139d988da8c93805513d90849241c8cc06a12a15301f0603551d23041830168014139d988da8c93805513d90849241c8cc06a12a15300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010080d4c43e052da860ff66ca8b3b4b2f62ab9fb37905ad831553822d01fd28c3a9d2fd9106ee1f03f3bcc7387aca126873fc00ee45246910054a96f39998e4a368d6895e32c0cf64c18da12b574642b3df66c051aa7749159ca041426403850c6da062beca9d94f800a6f2cb1f0498c29766d3e9773fbd422a35b414fd31daea081c001ad69a701b1495380ee53601d741f88abeafe535d2cae30216493d4d0036ea77f4348b2692c3759e9cb2157d4ce9460e68d38e02fb5861d5cefad992a2ff7de6e20e8588bf552e27069141ca5d6498ee4730863ecb1642932a35baab5e0a5f445d7cd48c3eb0519b43e1 cf78e5b0b501a9b54dda498162a3eaeccb61cc28' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_telephony_DER_cert_key}/${new_com_android_providers_telephony_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_telephony_DER_cert_key}/${new_com_android_providers_telephony_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_telephony_DER_cert_key}/${new_com_android_providers_telephony_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_telephony_DER_cert_key}/${new_com_android_providers_telephony_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_telephony_DER_cert_key}/${new_com_android_providers_telephony_DER_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_contacts_DER_cert_key='308203d4308202bca00302010202090097bae6a0367d8df8300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100942164fd93070520365c44c24e216e0fb43d3b2c318a19539b05bb4ddcdfbc10106d08de15fbf56657715decadf966b5ecbbc614c98ade446a10caad759e8f46b5939b70c976fb0ecd3395e5abc2c777538e0e9ec3e7efdf32d87f1e2c6bd6b6ad22c437d02 19d633d6848954aedbec0b5aad997019a670634f7ac389a808274d6d31e6a4eb6d8f969fccb502a93d2efd120e908b55332ce0a054d514ffe5050548977ea0c5773fd8e7ced6bbbfb3af5c83c1575da8bff5865f59e4c9392af0f15fc603e9be369a0054de9c7c8e9e9ee770db2e07fd67813ec6e43b41a3a342fb23b47fc1f26ab588e462b70eb9ebcbfae95837e5fec4962590921153fef305f0203010001a3533051301d0603551d0e04160414328c27f9a4f94c7ba1b2019e9a554eca0ad21c07301f0603551d23041830168014328c27f9a4f94c7ba1b2019e9a554eca0ad21c07300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101005bf8c7f7091efc25c5990ccc8b37122b2c22dedde33caa6f68d19e05736032f9c87fd104f6cc2f9c56f1bc1f213eded9f9df5d979133a53aaa180bd12e29fc44c1ff62b014c8d6ff00a6523189744d35ca2d7e4437ae43aaec1b8b7aec18d1dcd9827bc55405cb7c5e1f4401ec9c5df9de2efd6f60f997f53750860ecd3a96170bde2c849338d35a30fc30a74591f89346b6c704bff7f44c1e4140ed853a9a6c549fa49deeb61fa47c220156a68ff6d78a69d5203a012ee15bb717a2522dd098118e4d562367827e4c6778bb99b181d38cb945661e182864297e257f250f885f862bc7517d2d 9e54b687dc0c492a9e3ac659973f1045ab020ef7192128ca2fc7' + +old_replicant-6.0-0004-rc1_com_android_contacts_DER_cert_key='308203d4308202bca003020102020900cfc195c1e90278e2300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733375a170d3437303431303133303733375a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100aa9f735466b27d1ee00a498594fdbf1c7e2ce03b336329dadd639afa0a2e3ec489b4fff7c9fd5aac45435c2cdae49c42539bce82fc8c05c46bf898d50d8aa32dd83f9a3e46ad65296ac7d2d9a98dfbf7b1ca7699f3a79425509af122aa985467ae14b5fdb7a 02a3232c9355727582af54c576edcdc1bf196618fc16284e971ff40f6b5af08f1640f736d08f64c3a2b5bbde7b455d0818b2bbf4c7425fd351439d736df917392ce4f728a4c78c0cf68eb91a1d2d6c8e6d63adbd46bcb5f08b6e17b6a07e71cd1088f9e044f12a68928761c1b7600f568edcdceb121278ef98e529992bc3fd45aa9a2b45c2e115b82f4f934d42b3d673ebb86747dde77216ee5c70203010001a3533051301d0603551d0e04160414e67a8a64a547b490b823dddb03d5ed268be9277a301f0603551d23041830168014e67a8a64a547b490b823dddb03d5ed268be9277a300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101006a88eb3e9372d267084b887ed487c17b2765a3c0d9ab7d0d00c036c8bdf1830c1e326d3a6cdc338fbc054ce87bfb7b7375776be0b119d703b56ab0d341d4156ea93f9dbdfc1a3203b931873fb655e6d20dee87450ce58aaa6ef157e3a905aa97fde8b4bda8f2718c7ba3ddc59cfb556b8834509affcae11d1b1739fa4bc8dec236152821b74ad875a41db406e9adb8c18284dcff006ea7bf84e35f80d47f416c4a988259c90068a4ffd61442dcbc0aaa0bbaeea9231a49d327a188c0d11c471f4bdb46b533eb7026c8b859bde2e09f25a866d0642e420f5276cc38e3b7e1fa621eaaa585e054 b71382ba48021954ec68fef422a407fa351a4dbba9f787d31a2b' + +old_replicant-6.0-0001_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff6061238 4c35731bed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d 5983eda5b33acaf90ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d' + +old_replicant-6.0-0003_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff6061238 4c35731bed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d 5983eda5b33acaf90ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d' + +old_replicant-6.0-0002_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff6061238 4c35731bed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d 5983eda5b33acaf90ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d' + +new_com_android_contacts_DER_cert_key='308203d4308202bca00302010202090097bae6a0367d8df8300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100942164fd93070520365c44c24e216e0fb43d3b2c318a19539b05bb4ddcdfbc10106d08de15fbf56657715decadf966b5ecbbc614c98ade446a10caad759e8f46b5939b70c976fb0ecd3395e5abc2c777538e0e9ec3e7efdf32d87f1e2c6bd6b6ad22c437d0219d633d6848954aedbec0b5 aad997019a670634f7ac389a808274d6d31e6a4eb6d8f969fccb502a93d2efd120e908b55332ce0a054d514ffe5050548977ea0c5773fd8e7ced6bbbfb3af5c83c1575da8bff5865f59e4c9392af0f15fc603e9be369a0054de9c7c8e9e9ee770db2e07fd67813ec6e43b41a3a342fb23b47fc1f26ab588e462b70eb9ebcbfae95837e5fec4962590921153fef305f0203010001a3533051301d0603551d0e04160414328c27f9a4f94c7ba1b2019e9a554eca0ad21c07301f0603551d23041830168014328c27f9a4f94c7ba1b2019e9a554eca0ad21c07300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101005bf8c7f7091efc25c5990ccc8b37122b2c22dedde33caa6f68d19e05736032f9c87fd104f6cc2f9c56f1bc1f213eded9f9df5d979133a53aaa180bd12e29fc44c1ff62b014c8d6ff00a6523189744d35ca2d7e4437ae43aaec1b8b7aec18d1dcd9827bc55405cb7c5e1f4401ec9c5df9de2efd6f60f997f53750860ecd3a96170bde2c849338d35a30fc30a74591f89346b6c704bff7f44c1e4140ed853a9a6c549fa49deeb61fa47c220156a68ff6d78a69d5203a012ee15bb717a2522dd098118e4d562367827e4c6778bb99b181d38cb945661e182864297e257f250f885f862bc7517d2d9e54b687dc0c492a9e3ac65 9973f1045ab020ef7192128ca2fc7' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_contacts_DER_cert_key}/${new_com_android_contacts_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_contacts_DER_cert_key}/${new_com_android_contacts_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_contacts_DER_cert_key}/${new_com_android_contacts_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_contacts_DER_cert_key}/${new_com_android_contacts_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_contacts_DER_cert_key}/${new_com_android_contacts_DER_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_providers_calendar_DER_cert_key='308203d4308202bca0030201020209009b8fe4a25ae1c98d300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931355a170d3437313230373032333931355a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100ca66c1805b5f6d2c57548867f3f8623a9365acf199cb761b84eb400daeda272c3b2a3f2049b5c9d8991dbed6d56e153db137c7da9f877cc9369467327764d56b3658204dc384aafe6ab63d060735b0035ca4b5e008ba284fae3ee3cfa7f44982f c7115be523b38e4ebbbc4972d37618dd9b55c6e0c7058ac40868c6a4a60083e4aeaa69168275f5524184cccf71eccbc262e8a764d22ca3a75b1423626e6e050e8a95c7c2daa75f97aaf4fb3ce23cb90d569ef3dd46893cb8185b2313c6c3cc4d246e27e9fb1f82f0cdc76315687df538f78d47bd58ae49e9b2027cfac51fce9e86831dd3f1a1d91f297e015565fd4a5df3bd2837360bbca3159cc6ee043bfcb0203010001a3533051301d0603551d0e04160414572fe2b293b466ee1498a0f451a904f447ce1fa1301f0603551d23041830168014572fe2b293b466ee1498a0f451a904f447ce1fa1300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101002458c415e82116bbf924e79f64bb84eaf0d883dbcec3a5992bb32ebebce6a52927398abd3278710e1e20796e7ff62a44cc7b55b69ef82815598108bf345a2980750b1d951881b22da3632f12f0d4dcacf3f5a1119f4121877c9a1787b60956e002922251463d6b0d4193e3d44c38d1d14c8b61f1320bbff84ba9aa20f3aa17471479c9a6edbf67dfbdc869e5eba3530a12d679a6a58f4b659738d0ddf7037c59d57fba4556cc1c590ce15d031a25853c99699d4fdf3a6d20e200a5afcbe7185d2dff6a3f8e15ee99def6d753044abcc4c7f5f21c6c34ab7b1c2e90f230558a663f 0450e0fb8186a15bc52f2165582aec0c4e067ffdea948497b725c4b73d8fe1' + +old_replicant-6.0-0004-rc1_com_android_providers_calendar_DER_cert_key='308203d4308202bca003020102020900dcd9eb6ba2cee28f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733365a170d3437303431303133303733365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100c1d226b483f6ab208eeb784c5478847b62a593afbdf2011fd0026610ad90fb9b354c696f311a8f9b13fa6a772c7bf23189036f40a26a4fc5548cbd9cb09bbcfc42ef0bfcd1046a7912106141a9399885cf1f7d366d675e347495a9908e0b16fb8 fe91641c109de1a37fdff31b4138b75991783f05a4c5df20d0520aec9a769f55cb098cd850f632e206f1a00fd4a99b113cf009e43b4e4de3e2cff39a4ea5e7303a3095fbd6f9027b240289d9be66947147aad288ce096e48a1a16662e7fc5cb65009bf5100e8c1ad972c435f1df5fb11fc5b1fc645ee3019d94ab7507be868a2e889f9a934c2beb301d47687bbc506f510f33b5ef14f2b5150b62b083e204d90203010001a3533051301d0603551d0e041604147e86d4abc6de75eadc7be80278ce9347526b9a64301f0603551d230418301680147e86d4abc6de75eadc7be80278ce9347526b9a64300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010066af20253955ef1e5d35c9f5afc0a3f1bccc0e637d5130ab6c6cb1ccd9955d9202f49ff29a63567d8fa444306ef7b27be427bec451b6824ee5f076ad3678411fd9686e79b86a0c224e9f5bb1cfa3b8d1e33616ff9c45076ee5c7f34824738daf65ffde9a106634a8b51bed11825b7dacd5cdc4b714fa463c3d6c04c5b6c8f27690731e90ceaa2db386695864bdedb38813ade2fe3542dcf958acd2001bece55ee2c2086c8a9f2256cd9871a40412f5106514d5573325c030cd1440affb86a876f03f5da5e04d79d9b5a5c0bd51c27a62c717ca8b74f68cde2988c17dde35c18bcd 4dbd77e3a54754b298cdf46750588fedc11df85780206da79534bf5f9b0290' + +old_replicant-6.0-0001_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093f aa2049584e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a 1a690f6bcd1281a5d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45' + +old_replicant-6.0-0003_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093f aa2049584e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a 1a690f6bcd1281a5d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45' + +old_replicant-6.0-0002_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093f aa2049584e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a 1a690f6bcd1281a5d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45' + +new_com_android_providers_calendar_DER_cert_key='308203d4308202bca0030201020209009b8fe4a25ae1c98d300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931355a170d3437313230373032333931355a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100ca66c1805b5f6d2c57548867f3f8623a9365acf199cb761b84eb400daeda272c3b2a3f2049b5c9d8991dbed6d56e153db137c7da9f877cc9369467327764d56b3658204dc384aafe6ab63d060735b0035ca4b5e008ba284fae3ee3cfa7f44982fc7115be523b38e4ebbbc497 2d37618dd9b55c6e0c7058ac40868c6a4a60083e4aeaa69168275f5524184cccf71eccbc262e8a764d22ca3a75b1423626e6e050e8a95c7c2daa75f97aaf4fb3ce23cb90d569ef3dd46893cb8185b2313c6c3cc4d246e27e9fb1f82f0cdc76315687df538f78d47bd58ae49e9b2027cfac51fce9e86831dd3f1a1d91f297e015565fd4a5df3bd2837360bbca3159cc6ee043bfcb0203010001a3533051301d0603551d0e04160414572fe2b293b466ee1498a0f451a904f447ce1fa1301f0603551d23041830168014572fe2b293b466ee1498a0f451a904f447ce1fa1300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101002458c415e82116bbf924e79f64bb84eaf0d883dbcec3a5992bb32ebebce6a52927398abd3278710e1e20796e7ff62a44cc7b55b69ef82815598108bf345a2980750b1d951881b22da3632f12f0d4dcacf3f5a1119f4121877c9a1787b60956e002922251463d6b0d4193e3d44c38d1d14c8b61f1320bbff84ba9aa20f3aa17471479c9a6edbf67dfbdc869e5eba3530a12d679a6a58f4b659738d0ddf7037c59d57fba4556cc1c590ce15d031a25853c99699d4fdf3a6d20e200a5afcbe7185d2dff6a3f8e15ee99def6d753044abcc4c7f5f21c6c34ab7b1c2e90f230558a663f0450e0fb8186a15bc52f216 5582aec0c4e067ffdea948497b725c4b73d8fe1' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_calendar_DER_cert_key}/${new_com_android_providers_calendar_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_calendar_DER_cert_key}/${new_com_android_providers_calendar_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_calendar_DER_cert_key}/${new_com_android_providers_calendar_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_calendar_DER_cert_key}/${new_com_android_providers_calendar_DER_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_calendar_DER_cert_key}/${new_com_android_providers_calendar_DER_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqP93ZdIFXdded7wL7v9iMeftJAXnYAwKRp8mWPQ0PRYPGFCSVql1Ntv3w3WLlqlmLARwDlbs4XUGS+Zim738nEWaah20lJ+lS4kESaPWDCdOaUGuxM/Dirpt2rq0oxa7YWrisJvanQ3pMcxNgHAjDbZQtBCDl3TY5Sf5+M265EnPKuGsiw7hDqLFfWnLTULg1pCGt7MqCOMzlBrm4ANTBREzwTDvgENLKbmCLRLOVZyTK/OMEp3A8wOq/dWhy/bpD+IqIrEY0vxvQcHqxzoL2UpAxPvPfaP0w89Xjk+LXFlqXUqblG0G49kE4O/+wfLCvSrAOLzYwyT5JVWMWmhgDQIDAQAB' + +old_replicant-6.0-0004-rc1_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6eNFJC5j9PKKowMmnnqgsO3NQoCJkFbfaFPPbwH2lJ4iFTaTzAo7IxURHfz5Mx+D0MmCwGBwlmj8oC/SMs8gpb7MapfXZncepmTA4JXFJbJpB8mCNBjE8aZEWLQtVTj2RwYhj/kHLORTGf5uTPPhcaLyYdK//hmGcao3yi52RgUPhWTjatXZ9Iotdi7RvjGZwF0oeu1dorfHKiOuqCPHgkt7pw2lPZDtpouY/ZiPupLP5MeV2PGRb2kM/pxqzX9iE+nPYdFG1Q0zleCn/0nhFapBwKgot/uqAXka0jKaRmD/MddKfwBSFsOtXgpRwJZ4IGGh+apFRvZTSn5wL9NrVwIDAQAB' + +old_replicant-6.0-0001_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTwkfG7rlP0WQDWCz37205wYuAUnZco7vnih0tZsKvV7tigyTiawxcCZa+FYmgBchkWjc63kzSVl6jS8nrQWS9hzexLAMclzg1MT6EjC+q1QoNn8KnOVcV+/ch/aS9yfy243byHV2rpQe4s/OyPEvmx015bjlVTYbwpRTz0hWLkcL9F/lpKNeClWyNm+Y8Dk5cpUD5t/7/aN4ijFSyigPzwfa6Dq15TfkVSJ9s0Dmhpe5B8Qto4fZzPwIi+sjhUq2SnXbhlZw5EZXh0vMeyXyuQGyNvpZ9HZ3qFCPgkySLTZvNoyinzkcWmP33YanLKXG5Xn3t/Z0JFrR1PVKsCCAwIDAQAB' + +old_replicant-6.0-0003_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTwkfG7rlP0WQDWCz37205wYuAUnZco7vnih0tZsKvV7tigyTiawxcCZa+FYmgBchkWjc63kzSVl6jS8nrQWS9hzexLAMclzg1MT6EjC+q1QoNn8KnOVcV+/ch/aS9yfy243byHV2rpQe4s/OyPEvmx015bjlVTYbwpRTz0hWLkcL9F/lpKNeClWyNm+Y8Dk5cpUD5t/7/aN4ijFSyigPzwfa6Dq15TfkVSJ9s0Dmhpe5B8Qto4fZzPwIi+sjhUq2SnXbhlZw5EZXh0vMeyXyuQGyNvpZ9HZ3qFCPgkySLTZvNoyinzkcWmP33YanLKXG5Xn3t/Z0JFrR1PVKsCCAwIDAQAB' + +old_replicant-6.0-0002_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTwkfG7rlP0WQDWCz37205wYuAUnZco7vnih0tZsKvV7tigyTiawxcCZa+FYmgBchkWjc63kzSVl6jS8nrQWS9hzexLAMclzg1MT6EjC+q1QoNn8KnOVcV+/ch/aS9yfy243byHV2rpQe4s/OyPEvmx015bjlVTYbwpRTz0hWLkcL9F/lpKNeClWyNm+Y8Dk5cpUD5t/7/aN4ijFSyigPzwfa6Dq15TfkVSJ9s0Dmhpe5B8Qto4fZzPwIi+sjhUq2SnXbhlZw5EZXh0vMeyXyuQGyNvpZ9HZ3qFCPgkySLTZvNoyinzkcWmP33YanLKXG5Xn3t/Z0JFrR1PVKsCCAwIDAQAB' + +new_com_android_providers_media_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqP93ZdIFXdded7wL7v9iMeftJAXnYAwKRp8mWPQ0PRYPGFCSVql1Ntv3w3WLlqlmLARwDlbs4XUGS+Zim738nEWaah20lJ+lS4kESaPWDCdOaUGuxM/Dirpt2rq0oxa7YWrisJvanQ3pMcxNgHAjDbZQtBCDl3TY5Sf5+M265EnPKuGsiw7hDqLFfWnLTULg1pCGt7MqCOMzlBrm4ANTBREzwTDvgENLKbmCLRLOVZyTK/OMEp3A8wOq/dWhy/bpD+IqIrEY0vxvQcHqxzoL2UpAxPvPfaP0w89Xjk+LXFlqXUqblG0G49kE4O/+wfLCvSrAOLzYwyT5JVWMWmhgDQIDAQAB' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_media_PEM_cert_key}/${new_com_android_providers_media_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_media_PEM_cert_key}/${new_com_android_providers_media_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_media_PEM_cert_key}/${new_com_android_providers_media_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_media_PEM_cert_key}/${new_com_android_providers_media_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_media_PEM_cert_key}/${new_com_android_providers_media_PEM_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1OieLpOFLahyvUGDoJhB0GnLNfJ7qf+VEg59vW50yhFZAj0HseFBzXSy+PVtkIAAuqIyXfPwgg0lAfnPh5oW2gvBqW6dTZC1DPH84Fg3FCqu2T+fEXpdRafpWjLG2oWfgupWWg9Yg/QH9Ft9LbTMLGiXa/OpmVfx3aJrW/EzPdUMR87xuZmJeSoTC1VCgv/lkqnft8xxJrt+43sXz5OKM56Ia3ardBIdBxrlwvDCP46Fp351rx1+RTpSBg7zDBiRaJLbRQJtcA6bEpZriylslndnACh45jXKDrYV55k0m5Dh+Zj+BRZK+/eyPk2JCZp/pgdWt6HaQvz9/wlWXhF9lQIDAQAB' + +old_replicant-6.0-0004-rc1_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyrRx1pyLnjg5R31y5v/JDIp0HC8IvnStb9yNlu0iKVK9rH9MwRuaWXSr5p2ZgmeLuw0IrJbSyIqt4dM+PGEus0O8OQ+bYPQDQ3DonPoaCgAvqx+MSln95EVka3BCOvxtpu41M2q4ulkYSnzYEmN6pKa1iJvh7Y1ObwtJuVRhW6ZIuNq6juw8+Ac7z3EliBRsp0wQbhADvQ/jUnqQWA2UOp5aI1/2Xo6MLdPGugdTDsjyfMkaXK1nerrLruGLhaYzgnawCiVg0rOsq5EKSPl/2yBQXcGi0oJ6jg/Yzbp0d7KgE/0HqB3olONG0+BstydHi+DXEtXaJnDkzVKYjrPeywIDAQAB' + +old_replicant-6.0-0001_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwsJlEMZcGgD339/1aMKkSSo5mL9FkPoA37Qn4BuhNrZfC3vKs9SRZ3xCLwh7lwUajuIoHfvkxeahNyvvS/i4i59MekqDOzmGaBl74Z4CAdI/B/vBeZFvW43QJcwSZRplDPELoP0n0ynKd4wGQx3GpGUlr5zETOWwMAWnWYxQwfkyfSLKj4Yu79brbvalwm4b9hwnlpqG46d6ZnmwX745xz92z99YNKBDITWVTIw/DEFiqGqYjZAekYPJK+4jeg2/1KAw7mJ54qZytGS3LPMI3h4I95vUzq/lR2wQM+xNTnHQprEsHHUWHU6h+XrYZQ80daEYVyDgawHMX4QDqYt88QIDAQAB' + +old_replicant-6.0-0003_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwsJlEMZcGgD339/1aMKkSSo5mL9FkPoA37Qn4BuhNrZfC3vKs9SRZ3xCLwh7lwUajuIoHfvkxeahNyvvS/i4i59MekqDOzmGaBl74Z4CAdI/B/vBeZFvW43QJcwSZRplDPELoP0n0ynKd4wGQx3GpGUlr5zETOWwMAWnWYxQwfkyfSLKj4Yu79brbvalwm4b9hwnlpqG46d6ZnmwX745xz92z99YNKBDITWVTIw/DEFiqGqYjZAekYPJK+4jeg2/1KAw7mJ54qZytGS3LPMI3h4I95vUzq/lR2wQM+xNTnHQprEsHHUWHU6h+XrYZQ80daEYVyDgawHMX4QDqYt88QIDAQAB' + +old_replicant-6.0-0002_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwsJlEMZcGgD339/1aMKkSSo5mL9FkPoA37Qn4BuhNrZfC3vKs9SRZ3xCLwh7lwUajuIoHfvkxeahNyvvS/i4i59MekqDOzmGaBl74Z4CAdI/B/vBeZFvW43QJcwSZRplDPELoP0n0ynKd4wGQx3GpGUlr5zETOWwMAWnWYxQwfkyfSLKj4Yu79brbvalwm4b9hwnlpqG46d6ZnmwX745xz92z99YNKBDITWVTIw/DEFiqGqYjZAekYPJK+4jeg2/1KAw7mJ54qZytGS3LPMI3h4I95vUzq/lR2wQM+xNTnHQprEsHHUWHU6h+XrYZQ80daEYVyDgawHMX4QDqYt88QIDAQAB' + +new_com_android_providers_telephony_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1OieLpOFLahyvUGDoJhB0GnLNfJ7qf+VEg59vW50yhFZAj0HseFBzXSy+PVtkIAAuqIyXfPwgg0lAfnPh5oW2gvBqW6dTZC1DPH84Fg3FCqu2T+fEXpdRafpWjLG2oWfgupWWg9Yg/QH9Ft9LbTMLGiXa/OpmVfx3aJrW/EzPdUMR87xuZmJeSoTC1VCgv/lkqnft8xxJrt+43sXz5OKM56Ia3ardBIdBxrlwvDCP46Fp351rx1+RTpSBg7zDBiRaJLbRQJtcA6bEpZriylslndnACh45jXKDrYV55k0m5Dh+Zj+BRZK+/eyPk2JCZp/pgdWt6HaQvz9/wlWXhF9lQIDAQAB' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_telephony_PEM_cert_key}/${new_com_android_providers_telephony_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_telephony_PEM_cert_key}/${new_com_android_providers_telephony_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_telephony_PEM_cert_key}/${new_com_android_providers_telephony_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_telephony_PEM_cert_key}/${new_com_android_providers_telephony_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_telephony_PEM_cert_key}/${new_com_android_providers_telephony_PEM_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlCFk/ZMHBSA2XETCTiFuD7Q9OywxihlTmwW7TdzfvBAQbQjeFfv1ZldxXeyt+Wa17LvGFMmK3kRqEMqtdZ6PRrWTm3DJdvsOzTOV5avCx3dTjg6ew+fv3zLYfx4sa9a2rSLEN9AhnWM9aEiVSu2+wLWq2ZcBmmcGNPesOJqAgnTW0x5qTrbY+Wn8y1Aqk9Lv0SDpCLVTMs4KBU1RT/5QUFSJd+oMV3P9jnzta7v7OvXIPBV12ov/WGX1nkyTkq8PFfxgPpvjaaAFTenHyOnp7ncNsuB/1ngT7G5DtBo6NC+yO0f8HyarWI5GK3Drnry/rpWDfl/sSWJZCSEVP+8wXwIDAQAB' + +old_replicant-6.0-0004-rc1_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqp9zVGayfR7gCkmFlP2/HH4s4DszYyna3WOa+gouPsSJtP/3yf1arEVDXCza5JxCU5vOgvyMBcRr+JjVDYqjLdg/mj5GrWUpasfS2amN+/exynaZ86eUJVCa8SKqmFRnrhS1/begKjIyyTVXJ1gq9UxXbtzcG/GWYY/BYoTpcf9A9rWvCPFkD3NtCPZMOitbvee0VdCBiyu/THQl/TUUOdc235Fzks5PcopMeMDPaOuRodLWyObWOtvUa8tfCLbhe2oH5xzRCI+eBE8SpokodhwbdgD1aO3NzrEhJ475jlKZkrw/1FqporRcLhFbgvT5NNQrPWc+u4Z0fd53IW7lxwIDAQAB' + +old_replicant-6.0-0001_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyehsKXhh5k/vrKd3o3kjrdh8P/WlN42bSPqz/2BhI4TDVzG+2W2kKprL7+3PssC7yC9pF8YLYVWzzFeYtCY9Jj1B+Ry7i/itR12Uh4beDRWSYTdFGJgzb04c0+D7dgyqVGgjxMPfBKM939ni6rAwcwdXSYTg2CpFwXGvVtKghj+uVyrlnLh+FSbz9NwVzDDP8OR4veYIyksLHTYXMQFX/2RslwaAXS24ZCAZzKqsH4UQYgi1YDgtEvCMYdWV2tR0pZ/v6mPSxnK+gs4gS/hGs5HtRj+d6g5IoDeG+H43+f1Cz5efOxpGmZ3JtRPrGc8krJCP1qSc7B2fuZxwd/LzFQIDAQAB' + +old_replicant-6.0-0003_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyehsKXhh5k/vrKd3o3kjrdh8P/WlN42bSPqz/2BhI4TDVzG+2W2kKprL7+3PssC7yC9pF8YLYVWzzFeYtCY9Jj1B+Ry7i/itR12Uh4beDRWSYTdFGJgzb04c0+D7dgyqVGgjxMPfBKM939ni6rAwcwdXSYTg2CpFwXGvVtKghj+uVyrlnLh+FSbz9NwVzDDP8OR4veYIyksLHTYXMQFX/2RslwaAXS24ZCAZzKqsH4UQYgi1YDgtEvCMYdWV2tR0pZ/v6mPSxnK+gs4gS/hGs5HtRj+d6g5IoDeG+H43+f1Cz5efOxpGmZ3JtRPrGc8krJCP1qSc7B2fuZxwd/LzFQIDAQAB' + +old_replicant-6.0-0002_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyehsKXhh5k/vrKd3o3kjrdh8P/WlN42bSPqz/2BhI4TDVzG+2W2kKprL7+3PssC7yC9pF8YLYVWzzFeYtCY9Jj1B+Ry7i/itR12Uh4beDRWSYTdFGJgzb04c0+D7dgyqVGgjxMPfBKM939ni6rAwcwdXSYTg2CpFwXGvVtKghj+uVyrlnLh+FSbz9NwVzDDP8OR4veYIyksLHTYXMQFX/2RslwaAXS24ZCAZzKqsH4UQYgi1YDgtEvCMYdWV2tR0pZ/v6mPSxnK+gs4gS/hGs5HtRj+d6g5IoDeG+H43+f1Cz5efOxpGmZ3JtRPrGc8krJCP1qSc7B2fuZxwd/LzFQIDAQAB' + +new_com_android_contacts_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlCFk/ZMHBSA2XETCTiFuD7Q9OywxihlTmwW7TdzfvBAQbQjeFfv1ZldxXeyt+Wa17LvGFMmK3kRqEMqtdZ6PRrWTm3DJdvsOzTOV5avCx3dTjg6ew+fv3zLYfx4sa9a2rSLEN9AhnWM9aEiVSu2+wLWq2ZcBmmcGNPesOJqAgnTW0x5qTrbY+Wn8y1Aqk9Lv0SDpCLVTMs4KBU1RT/5QUFSJd+oMV3P9jnzta7v7OvXIPBV12ov/WGX1nkyTkq8PFfxgPpvjaaAFTenHyOnp7ncNsuB/1ngT7G5DtBo6NC+yO0f8HyarWI5GK3Drnry/rpWDfl/sSWJZCSEVP+8wXwIDAQAB' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_contacts_PEM_cert_key}/${new_com_android_contacts_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_contacts_PEM_cert_key}/${new_com_android_contacts_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_contacts_PEM_cert_key}/${new_com_android_contacts_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_contacts_PEM_cert_key}/${new_com_android_contacts_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_contacts_PEM_cert_key}/${new_com_android_contacts_PEM_cert_key}/g" \ + -i ${PACKAGES} + +old_replicant-6.0-0004-rc2_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAymbBgFtfbSxXVIhn8/hiOpNlrPGZy3YbhOtADa7aJyw7Kj8gSbXJ2JkdvtbVbhU9sTfH2p+HfMk2lGcyd2TVazZYIE3DhKr+arY9Bgc1sANcpLXgCLooT64+48+n9EmC/HEVvlI7OOTru8SXLTdhjdm1XG4McFisQIaMakpgCD5K6qaRaCdfVSQYTMz3Hsy8Ji6Kdk0iyjp1sUI2JubgUOipXHwtqnX5eq9Ps84jy5DVae891GiTy4GFsjE8bDzE0kbifp+x+C8M3HYxVoffU4941HvViuSemyAnz6xR/OnoaDHdPxodkfKX4BVWX9Sl3zvSg3Ngu8oxWcxu4EO/ywIDAQAB' + +old_replicant-6.0-0004-rc1_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwdImtIP2qyCO63hMVHiEe2Klk6+98gEf0AJmEK2Q+5s1TGlvMRqPmxP6ancse/IxiQNvQKJqT8VUjL2csJu8/ELvC/zRBGp5EhBhQak5mIXPH302bWdeNHSVqZCOCxb7j+kWQcEJ3ho3/f8xtBOLdZkXg/BaTF3yDQUgrsmnafVcsJjNhQ9jLiBvGgD9SpmxE88AnkO05N4+LP85pOpecwOjCV+9b5AnskAonZvmaUcUeq0ojOCW5IoaFmYuf8XLZQCb9RAOjBrZcsQ18d9fsR/FsfxkXuMBnZSrdQe+hoouiJ+ak0wr6zAdR2h7vFBvUQ8zte8U8rUVC2Kwg+IE2QIDAQAB' + +old_replicant-6.0-0001_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Jndw7vHvguaT4F4MBHnralsEu8C3sSOEJP6ogSVhObWR7qaZnKQpuXKELLNli5fJjhEbUZPHNQQKiAsxrnUPSe19LtlfFFMxZ57NSbC8p2UHnLfDx7y1kwrYC52fBvI4sz4W8uUaspDJaZRrnNTk7mTnbdIRK1+1Rn1ggwRfFFMCCkXfhEO2C4ppqwzX8LKW9tJbKnyPAIUm2A7VRFoqZeaVTVTyTssUJovejzj5cEB2GNdCIf0/0lEqesdZlOUKsFwkJXRvaUfc/uHEr73WTApsCXrqEVmpoPxSlzuxv2fOk0eMg8TrmYlMGpfwBd7MdlHf9i0NdIO84khtsRi7QIDAQAB' + +old_replicant-6.0-0003_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Jndw7vHvguaT4F4MBHnralsEu8C3sSOEJP6ogSVhObWR7qaZnKQpuXKELLNli5fJjhEbUZPHNQQKiAsxrnUPSe19LtlfFFMxZ57NSbC8p2UHnLfDx7y1kwrYC52fBvI4sz4W8uUaspDJaZRrnNTk7mTnbdIRK1+1Rn1ggwRfFFMCCkXfhEO2C4ppqwzX8LKW9tJbKnyPAIUm2A7VRFoqZeaVTVTyTssUJovejzj5cEB2GNdCIf0/0lEqesdZlOUKsFwkJXRvaUfc/uHEr73WTApsCXrqEVmpoPxSlzuxv2fOk0eMg8TrmYlMGpfwBd7MdlHf9i0NdIO84khtsRi7QIDAQAB' + +old_replicant-6.0-0002_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Jndw7vHvguaT4F4MBHnralsEu8C3sSOEJP6ogSVhObWR7qaZnKQpuXKELLNli5fJjhEbUZPHNQQKiAsxrnUPSe19LtlfFFMxZ57NSbC8p2UHnLfDx7y1kwrYC52fBvI4sz4W8uUaspDJaZRrnNTk7mTnbdIRK1+1Rn1ggwRfFFMCCkXfhEO2C4ppqwzX8LKW9tJbKnyPAIUm2A7VRFoqZeaVTVTyTssUJovejzj5cEB2GNdCIf0/0lEqesdZlOUKsFwkJXRvaUfc/uHEr73WTApsCXrqEVmpoPxSlzuxv2fOk0eMg8TrmYlMGpfwBd7MdlHf9i0NdIO84khtsRi7QIDAQAB' + +new_com_android_providers_calendar_PEM_cert_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAymbBgFtfbSxXVIhn8/hiOpNlrPGZy3YbhOtADa7aJyw7Kj8gSbXJ2JkdvtbVbhU9sTfH2p+HfMk2lGcyd2TVazZYIE3DhKr+arY9Bgc1sANcpLXgCLooT64+48+n9EmC/HEVvlI7OOTru8SXLTdhjdm1XG4McFisQIaMakpgCD5K6qaRaCdfVSQYTMz3Hsy8Ji6Kdk0iyjp1sUI2JubgUOipXHwtqnX5eq9Ps84jy5DVae891GiTy4GFsjE8bDzE0kbifp+x+C8M3HYxVoffU4941HvViuSemyAnz6xR/OnoaDHdPxodkfKX4BVWX9Sl3zvSg3Ngu8oxWcxu4EO/ywIDAQAB' + +sed \ + "s/${old_replicant-6.0-0004-rc2_com_android_providers_calendar_PEM_cert_key}/${new_com_android_providers_calendar_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0004-rc1_com_android_providers_calendar_PEM_cert_key}/${new_com_android_providers_calendar_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0001_com_android_providers_calendar_PEM_cert_key}/${new_com_android_providers_calendar_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0003_com_android_providers_calendar_PEM_cert_key}/${new_com_android_providers_calendar_PEM_cert_key}/g" \ + -i ${PACKAGES} + +sed \ + "s/${old_replicant-6.0-0002_com_android_providers_calendar_PEM_cert_key}/${new_com_android_providers_calendar_PEM_cert_key}/g" \ + -i ${PACKAGES} + +chmod 660 ${PACKAGES} +chown system:system ${PACKAGES} + +touch ${MIGRATION_DONE} \ No newline at end of file diff --git a/prebuilt/common/etc/init.local.rc b/prebuilt/common/etc/init.local.rc index 53f972c9..e8379792 100644 --- a/prebuilt/common/etc/init.local.rc +++ b/prebuilt/common/etc/init.local.rc @@ -19,11 +19,18 @@ on init chmod 0664 /sys/fs/cgroup/bfqio/rt-display/tasks chmod 0220 /sys/fs/cgroup/bfqio/rt-display/cgroup.event_control +service keys-migration /system/bin/sh /system/bin/keys-migration.sh + oneshot + seclabel u:r:sudaemon:s0 + disabled + on post-fs-data mkdir /data/ssh 0750 root shell mkdir /data/ssh/empty 0600 root shell mkdir /cache/recovery 0770 system cache + start keys-migration + # Run sysinit start sysinit -- 2.28.0 _______________________________________________ Replicant mailing list [email protected] https://lists.osuosl.org/mailman/listinfo/replicant
