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 e19fb68e..f359b4b4 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..0a8166b8
--- /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_contacts_DER_cert_key='308203d4308202bca00302010202090097bae6a0367d8df8300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100942164fd93070520365c44c24e216e0fb43d3b2c318a19539b05bb4ddcdfbc10106d08de15fbf56657715decadf966b5ecbbc614c98ade446a10caad759e8f46b5939b70c976fb0ecd3395e5abc2c777538e0e9ec3e7efdf32d87f1e2c6bd6b6ad22c437d0219d633d6
 
848954aedbec0b5aad997019a670634f7ac389a808274d6d31e6a4eb6d8f969fccb502a93d2efd120e908b55332ce0a054d514ffe5050548977ea0c5773fd8e7ced6bbbfb3af5c83c1575da8bff5865f59e4c9392af0f15fc603e9be369a0054de9c7c8e9e9ee770db2e07fd67813ec6e43b41a3a342fb23b47fc1f26ab588e462b70eb9ebcbfae95837e5fec4962590921153fef305f0203010001a3533051301d0603551d0e04160414328c27f9a4f94c7ba1b2019e9a554eca0ad21c07301f0603551d23041830168014328c27f9a4f94c7ba1b2019e9a554eca0ad21c07300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101005bf8c7f7091efc25c5990ccc8b37122b2c22dedde33caa6f68d19e05736032f9c87fd104f6cc2f9c56f1bc1f213eded9f9df5d979133a53aaa180bd12e29fc44c1ff62b014c8d6ff00a6523189744d35ca2d7e4437ae43aaec1b8b7aec18d1dcd9827bc55405cb7c5e1f4401ec9c5df9de2efd6f60f997f53750860ecd3a96170bde2c849338d35a30fc30a74591f89346b6c704bff7f44c1e4140ed853a9a6c549fa49deeb61fa47c220156a68ff6d78a69d5203a012ee15bb717a2522dd098118e4d562367827e4c6778bb99b181d38cb945661e182864297e257f250f885f862bc7517d2d9e54b687dc0c492a
 9e3ac659973f1045ab020ef7192128ca2fc7'
+
+old_replicant_6_0_0004_rc1_com_android_contacts_DER_cert_key='308203d4308202bca003020102020900cfc195c1e90278e2300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733375a170d3437303431303133303733375a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100aa9f735466b27d1ee00a498594fdbf1c7e2ce03b336329dadd639afa0a2e3ec489b4fff7c9fd5aac45435c2cdae49c42539bce82fc8c05c46bf898d50d8aa32dd83f9a3e46ad65296ac7d2d9a98dfbf7b1ca7699f3a79425509af122aa985467ae14b5fdb7a02a3232c
 
9355727582af54c576edcdc1bf196618fc16284e971ff40f6b5af08f1640f736d08f64c3a2b5bbde7b455d0818b2bbf4c7425fd351439d736df917392ce4f728a4c78c0cf68eb91a1d2d6c8e6d63adbd46bcb5f08b6e17b6a07e71cd1088f9e044f12a68928761c1b7600f568edcdceb121278ef98e529992bc3fd45aa9a2b45c2e115b82f4f934d42b3d673ebb86747dde77216ee5c70203010001a3533051301d0603551d0e04160414e67a8a64a547b490b823dddb03d5ed268be9277a301f0603551d23041830168014e67a8a64a547b490b823dddb03d5ed268be9277a300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101006a88eb3e9372d267084b887ed487c17b2765a3c0d9ab7d0d00c036c8bdf1830c1e326d3a6cdc338fbc054ce87bfb7b7375776be0b119d703b56ab0d341d4156ea93f9dbdfc1a3203b931873fb655e6d20dee87450ce58aaa6ef157e3a905aa97fde8b4bda8f2718c7ba3ddc59cfb556b8834509affcae11d1b1739fa4bc8dec236152821b74ad875a41db406e9adb8c18284dcff006ea7bf84e35f80d47f416c4a988259c90068a4ffd61442dcbc0aaa0bbaeea9231a49d327a188c0d11c471f4bdb46b533eb7026c8b859bde2e09f25a866d0642e420f5276cc38e3b7e1fa621eaaa585e054b71382ba48021954
 ec68fef422a407fa351a4dbba9f787d31a2b'
+
+old_replicant_6_0_0001_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff60612384c35731b
 
ed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d5983eda5b33acaf9
 
0ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d'
+
+old_replicant_6_0_0003_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff60612384c35731b
 
ed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d5983eda5b33acaf9
 
0ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d'
+
+old_replicant_6_0_0002_com_android_contacts_DER_cert_key='3082041930820301a003020102020900e15edc4092f9e6d9300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835375a170d3433303632333232343835375a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c9e86c297861e64fefaca777a37923add87c3ff5a5378d9b48fab3ff60612384c35731b
 
ed96da42a9acbefedcfb2c0bbc82f6917c60b6155b3cc5798b4263d263d41f91cbb8bf8ad475d948786de0d15926137451898336f4e1cd3e0fb760caa546823c4c3df04a33ddfd9e2eab0307307574984e0d82a45c171af56d2a0863fae572ae59cb87e1526f3f4dc15cc30cff0e478bde608ca4b0b1d3617310157ff646c9706805d2db8642019ccaaac1f85106208b560382d12f08c61d595dad474a59fefea63d2c672be82ce204bf846b391ed463f9dea0e48a03786f87e37f9fd42cf979f3b1a46999dc9b513eb19cf24ac908fd6a49cec1d9fb99c7077f2f3150203010001a350304e301d0603551d0e04160414328ee4133332ddf032eab1c07fd7c79436df131d301f0603551d23041830168014328ee4133332ddf032eab1c07fd7c79436df131d300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001ad2deae559e1e641cb14d663fe942891a153884d2b86e4e3a7da7192e4b2f127d2a08dace1110aeb2906a87ccac541d160b9f80b69a180f6217b5c4d410f7d955e9c188f103b29e3170d96e78746a1584a6eac334ed80669caa5e1791f7094168430aa89907acd219996f95d7fcbc94be35d4b2fc99c59cdcc525e43f454b5779058319448ec42481180f6163c413ccc4096ab141408b8179ed2e29b0559df8f65f9d5983eda5b33acaf9
 
0ae664862453067bee886cd3bd8d0db4ca50d63d5eac0347e8fb59d4fceabaab97d3b453fb05c1bf9772884756bb2b1d958de28962faa86e74a6685ec01127926280c1893e4397f89240ca85075f5cf2ca83419f6d'
+
+new_com_android_contacts_DER_cert_key='308203d4308202bca00302010202090097bae6a0367d8df8300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100942164fd93070520365c44c24e216e0fb43d3b2c318a19539b05bb4ddcdfbc10106d08de15fbf56657715decadf966b5ecbbc614c98ade446a10caad759e8f46b5939b70c976fb0ecd3395e5abc2c777538e0e9ec3e7efdf32d87f1e2c6bd6b6ad22c437d0219d633d6848954aedbec0b5aad99701
 
9a670634f7ac389a808274d6d31e6a4eb6d8f969fccb502a93d2efd120e908b55332ce0a054d514ffe5050548977ea0c5773fd8e7ced6bbbfb3af5c83c1575da8bff5865f59e4c9392af0f15fc603e9be369a0054de9c7c8e9e9ee770db2e07fd67813ec6e43b41a3a342fb23b47fc1f26ab588e462b70eb9ebcbfae95837e5fec4962590921153fef305f0203010001a3533051301d0603551d0e04160414328c27f9a4f94c7ba1b2019e9a554eca0ad21c07301f0603551d23041830168014328c27f9a4f94c7ba1b2019e9a554eca0ad21c07300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101005bf8c7f7091efc25c5990ccc8b37122b2c22dedde33caa6f68d19e05736032f9c87fd104f6cc2f9c56f1bc1f213eded9f9df5d979133a53aaa180bd12e29fc44c1ff62b014c8d6ff00a6523189744d35ca2d7e4437ae43aaec1b8b7aec18d1dcd9827bc55405cb7c5e1f4401ec9c5df9de2efd6f60f997f53750860ecd3a96170bde2c849338d35a30fc30a74591f89346b6c704bff7f44c1e4140ed853a9a6c549fa49deeb61fa47c220156a68ff6d78a69d5203a012ee15bb717a2522dd098118e4d562367827e4c6778bb99b181d38cb945661e182864297e257f250f885f862bc7517d2d9e54b687dc0c492a9e3ac659973f1045ab020ef
 7192128ca2fc7'
+
+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='308203d4308202bca0030201020209009b8fe4a25ae1c98d300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931355a170d3437313230373032333931355a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100ca66c1805b5f6d2c57548867f3f8623a9365acf199cb761b84eb400daeda272c3b2a3f2049b5c9d8991dbed6d56e153db137c7da9f877cc9369467327764d56b3658204dc384aafe6ab63d060735b0035ca4b5e008ba284fae3ee3cfa7f44982fc7115be5
 
23b38e4ebbbc4972d37618dd9b55c6e0c7058ac40868c6a4a60083e4aeaa69168275f5524184cccf71eccbc262e8a764d22ca3a75b1423626e6e050e8a95c7c2daa75f97aaf4fb3ce23cb90d569ef3dd46893cb8185b2313c6c3cc4d246e27e9fb1f82f0cdc76315687df538f78d47bd58ae49e9b2027cfac51fce9e86831dd3f1a1d91f297e015565fd4a5df3bd2837360bbca3159cc6ee043bfcb0203010001a3533051301d0603551d0e04160414572fe2b293b466ee1498a0f451a904f447ce1fa1301f0603551d23041830168014572fe2b293b466ee1498a0f451a904f447ce1fa1300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101002458c415e82116bbf924e79f64bb84eaf0d883dbcec3a5992bb32ebebce6a52927398abd3278710e1e20796e7ff62a44cc7b55b69ef82815598108bf345a2980750b1d951881b22da3632f12f0d4dcacf3f5a1119f4121877c9a1787b60956e002922251463d6b0d4193e3d44c38d1d14c8b61f1320bbff84ba9aa20f3aa17471479c9a6edbf67dfbdc869e5eba3530a12d679a6a58f4b659738d0ddf7037c59d57fba4556cc1c590ce15d031a25853c99699d4fdf3a6d20e200a5afcbe7185d2dff6a3f8e15ee99def6d753044abcc4c7f5f21c6c34ab7b1c2e90f230558a663f0450e0fb8186a15b
 c52f2165582aec0c4e067ffdea948497b725c4b73d8fe1'
+
+old_replicant_6_0_0004_rc1_com_android_providers_calendar_DER_cert_key='308203d4308202bca003020102020900dcd9eb6ba2cee28f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733365a170d3437303431303133303733365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100c1d226b483f6ab208eeb784c5478847b62a593afbdf2011fd0026610ad90fb9b354c696f311a8f9b13fa6a772c7bf23189036f40a26a4fc5548cbd9cb09bbcfc42ef0bfcd1046a7912106141a9399885cf1f7d366d675e347495a9908e0b16fb8fe91641c
 
109de1a37fdff31b4138b75991783f05a4c5df20d0520aec9a769f55cb098cd850f632e206f1a00fd4a99b113cf009e43b4e4de3e2cff39a4ea5e7303a3095fbd6f9027b240289d9be66947147aad288ce096e48a1a16662e7fc5cb65009bf5100e8c1ad972c435f1df5fb11fc5b1fc645ee3019d94ab7507be868a2e889f9a934c2beb301d47687bbc506f510f33b5ef14f2b5150b62b083e204d90203010001a3533051301d0603551d0e041604147e86d4abc6de75eadc7be80278ce9347526b9a64301f0603551d230418301680147e86d4abc6de75eadc7be80278ce9347526b9a64300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010066af20253955ef1e5d35c9f5afc0a3f1bccc0e637d5130ab6c6cb1ccd9955d9202f49ff29a63567d8fa444306ef7b27be427bec451b6824ee5f076ad3678411fd9686e79b86a0c224e9f5bb1cfa3b8d1e33616ff9c45076ee5c7f34824738daf65ffde9a106634a8b51bed11825b7dacd5cdc4b714fa463c3d6c04c5b6c8f27690731e90ceaa2db386695864bdedb38813ade2fe3542dcf958acd2001bece55ee2c2086c8a9f2256cd9871a40412f5106514d5573325c030cd1440affb86a876f03f5da5e04d79d9b5a5c0bd51c27a62c717ca8b74f68cde2988c17dde35c18bcd4dbd77e3a54754b2
 98cdf46750588fedc11df85780206da79534bf5f9b0290'
+
+old_replicant_6_0_0001_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093faa204958
 
4e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a1a690f6bcd1281a5
 
d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45'
+
+old_replicant_6_0_0003_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093faa204958
 
4e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a1a690f6bcd1281a5
 
d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45'
+
+old_replicant_6_0_0002_com_android_providers_calendar_DER_cert_key='3082041930820301a0030201020209008323ba8954b173d7300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343834395a170d3433303632333232343834395a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100e099ddc3bbc7be0b9a4f81783011e7ada96c12ef02dec48e1093faa204958
 
4e6d647ba9a667290a6e5ca10b2cd962e5f2638446d464f1cd4102a202cc6b9d43d27b5f4bb657c514cc59e7b3526c2f29d941e72df0f1ef2d64c2b602e767c1bc8e2ccf85bcb946aca4325a651ae735393b9939db74844ad7ed519f5820c117c514c0829177e110ed82e29a6ac335fc2ca5bdb496ca9f23c02149b603b551168a9979a553553c93b2c509a2f7a3ce3e5c101d8635d0887f4ff4944a9eb1d6653942ac1709095d1bda51f73fb8712bef7593029b025eba84566a683f14a5ceec6fd9f3a4d1e320f13ae6625306a5fc0177b31d9477fd8b435d20ef38921b6c462ed0203010001a350304e301d0603551d0e041604145fb8b8016616eddef6380513bb6fcf5cfcc87915301f0603551d230418301680145fb8b8016616eddef6380513bb6fcf5cfcc87915300c0603551d13040530030101ff300d06092a864886f70d010105050003820101001525144ba1689a3fedf61a5e94f2b214d91197cf6b1e1be07d19ed676511dbe071d62f6d7cec05772a4ec719fea3dc152beebe6bb1247d2ac9cde11fadf12b273e7c06c0e132505e7617d7d32b49c1880b51490f90ac0e697152a3f8a28e756ac7694b3f30013f5c4ca41c76fa1028b343067dbbe0017279cbb6d839c6eba58b14e3da3441793616f927f25c5f0eed6a5c17768c42c29529b049602eb05a1a690f6bcd1281a5
 
d0fdf9f6499faa6c816023d36c0d8406582b98f52b3748184d0422a63a8643db46ebdb6cf8dcd0b589d8478930215da04804e4e639a407b8d3cf164ad6124b32a5314a2846da8d9ba321e99cedd9e2e5a5ee300e63ce36736b45'
+
+new_com_android_providers_calendar_DER_cert_key='308203d4308202bca0030201020209009b8fe4a25ae1c98d300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931355a170d3437313230373032333931355a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100ca66c1805b5f6d2c57548867f3f8623a9365acf199cb761b84eb400daeda272c3b2a3f2049b5c9d8991dbed6d56e153db137c7da9f877cc9369467327764d56b3658204dc384aafe6ab63d060735b0035ca4b5e008ba284fae3ee3cfa7f44982fc7115be523b38e4ebbbc4972d37618d
 
d9b55c6e0c7058ac40868c6a4a60083e4aeaa69168275f5524184cccf71eccbc262e8a764d22ca3a75b1423626e6e050e8a95c7c2daa75f97aaf4fb3ce23cb90d569ef3dd46893cb8185b2313c6c3cc4d246e27e9fb1f82f0cdc76315687df538f78d47bd58ae49e9b2027cfac51fce9e86831dd3f1a1d91f297e015565fd4a5df3bd2837360bbca3159cc6ee043bfcb0203010001a3533051301d0603551d0e04160414572fe2b293b466ee1498a0f451a904f447ce1fa1301f0603551d23041830168014572fe2b293b466ee1498a0f451a904f447ce1fa1300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101002458c415e82116bbf924e79f64bb84eaf0d883dbcec3a5992bb32ebebce6a52927398abd3278710e1e20796e7ff62a44cc7b55b69ef82815598108bf345a2980750b1d951881b22da3632f12f0d4dcacf3f5a1119f4121877c9a1787b60956e002922251463d6b0d4193e3d44c38d1d14c8b61f1320bbff84ba9aa20f3aa17471479c9a6edbf67dfbdc869e5eba3530a12d679a6a58f4b659738d0ddf7037c59d57fba4556cc1c590ce15d031a25853c99699d4fdf3a6d20e200a5afcbe7185d2dff6a3f8e15ee99def6d753044abcc4c7f5f21c6c34ab7b1c2e90f230558a663f0450e0fb8186a15bc52f2165582aec0c4e067ff
 dea948497b725c4b73d8fe1'
+
+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_telephony_DER_cert_key='308203d4308202bca003020102020900a7eed21fab90ce78300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100d4e89e2e93852da872bd4183a09841d069cb35f27ba9ff95120e7dbd6e74ca1159023d07b1e141cd74b2f8f56d908000baa2325df3f0820d2501f9cf879a16da0bc1a96e9d4d90b50cf1fce05837142aaed93f9f117a5d45a7e95a32c6da859f82ea565a
 
0f5883f407f45b7d2db4cc2c68976bf3a99957f1dda26b5bf1333dd50c47cef1b99989792a130b554282ffe592a9dfb7cc7126bb7ee37b17cf938a339e886b76ab74121d071ae5c2f0c23f8e85a77e75af1d7e453a52060ef30c18916892db45026d700e9b12966b8b296c967767002878e635ca0eb615e799349b90e1f998fe05164afbf7b23e4d89099a7fa60756b7a1da42fcfdff09565e117d950203010001a3533051301d0603551d0e04160414139d988da8c93805513d90849241c8cc06a12a15301f0603551d23041830168014139d988da8c93805513d90849241c8cc06a12a15300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010080d4c43e052da860ff66ca8b3b4b2f62ab9fb37905ad831553822d01fd28c3a9d2fd9106ee1f03f3bcc7387aca126873fc00ee45246910054a96f39998e4a368d6895e32c0cf64c18da12b574642b3df66c051aa7749159ca041426403850c6da062beca9d94f800a6f2cb1f0498c29766d3e9773fbd422a35b414fd31daea081c001ad69a701b1495380ee53601d741f88abeafe535d2cae30216493d4d0036ea77f4348b2692c3759e9cb2157d4ce9460e68d38e02fb5861d5cefad992a2ff7de6e20e8588bf552e27069141ca5d6498ee4730863ecb1642932a35baab5e0a5f445d7cd48c3eb05
 19b43e1cf78e5b0b501a9b54dda498162a3eaeccb61cc28'
+
+old_replicant_6_0_0004_rc1_com_android_providers_telephony_DER_cert_key='308203d4308202bca003020102020900ea5a9d85247b4c6e300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733375a170d3437303431303133303733375a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100cab471d69c8b9e3839477d72e6ffc90c8a741c2f08be74ad6fdc8d96ed222952bdac7f4cc11b9a5974abe69d9982678bbb0d08ac96d2c88aade1d33e3c612eb343bc390f9b60f4034370e89cfa1a0a002fab1f8c4a59fde445646b70423afc6da6ee3533
 
6ab8ba59184a7cd812637aa4a6b5889be1ed8d4e6f0b49b954615ba648b8daba8eec3cf8073bcf712588146ca74c106e1003bd0fe3527a90580d943a9e5a235ff65e8e8c2dd3c6ba07530ec8f27cc91a5cad677abacbaee18b85a6338276b00a2560d2b3acab910a48f97fdb20505dc1a2d2827a8e0fd8cdba7477b2a013fd07a81de894e346d3e06cb727478be0d712d5da2670e4cd52988eb3decb0203010001a3533051301d0603551d0e04160414452bfea50647b72e7e167ed724d232a95d2f2b38301f0603551d23041830168014452bfea50647b72e7e167ed724d232a95d2f2b38300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003ddaf07bc3f14e5c0a389123b0feb50f239e9f8ae6f5f6295ac7012cc6ebbcb0e68aa40747b8e2d4d9cfc9bc68d24616bfab4de337fd2cedff6759215adaba16890d9d568138bfbce64ee846be79942ecc47fffb84cd25aab61fde1c82123e08d07f5ac33fa25606a3591ac2b5ddd85e7db6ba1ca14ae6b0293f9a48b71b33938ea98f5a7bf12b367676b6baed9a6763dd8e1138c23b949682ea2cc0d7c70fe4b28550854321e08d0b214a3513897e50b3a15e0d8e99a363a52ffe1932f78f3e1238256990b2171a018565f8b4979e04dbb7fbdb30e7731191c336aed79e4e1496428d3bd82c7ac24
 bfa06927aaa56a883fb6d3115c68176ea46fe35f7b4c214'
+
+old_replicant_6_0_0001_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb427e01ba1
 
36b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c60370d588922692a9e0f
 
d33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167'
+
+old_replicant_6_0_0003_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb427e01ba1
 
36b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c60370d588922692a9e0f
 
d33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167'
+
+old_replicant_6_0_0002_com_android_providers_telephony_DER_cert_key='3082041930820301a003020102020900ae64c5043debd5da300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343835345a170d3433303632333232343835345a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c26510c65c1a00f7dfdff568c2a4492a3998bf4590fa00dfb427e01ba1
 
36b65f0b7bcab3d491677c422f087b97051a8ee2281dfbe4c5e6a1372bef4bf8b88b9f4c7a4a833b398668197be19e0201d23f07fbc179916f5b8dd025cc12651a650cf10ba0fd27d329ca778c06431dc6a46525af9cc44ce5b03005a7598c50c1f9327d22ca8f862eefd6eb6ef6a5c26e1bf61c27969a86e3a77a6679b05fbe39c73f76cfdf5834a0432135954c8c3f0c4162a86a988d901e9183c92bee237a0dbfd4a030ee6279e2a672b464b72cf308de1e08f79bd4ceafe5476c1033ec4d4e71d0a6b12c1c75161d4ea1f97ad8650f3475a1185720e06b01cc5f8403a98b7cf10203010001a350304e301d0603551d0e0416041499dc251cdd6e7448718d5a02975d690b1bacbe8c301f0603551d2304183016801499dc251cdd6e7448718d5a02975d690b1bacbe8c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100526932f128e0af663d6bc88a37088c7d63b6bf2c676d9b80d5797d2ea038abc6efdc683a74d1088b3590ece813126adac23279c7b6f04e2d3dd2864319e81c680d69cacbd8dc8b9b029db0e036fe3f9ddb5104ec44637dcd07d2f27549c4c458602a28d4396d87e4f1b748c22952145a4ea077cedfc033f2497755654a3d6bd5d4ac9e29bf3416e4b21fb7dd7d10e76e4145ae18e2955881c2cdc9c60370d588922692a9e0f
 
d33b7d4a9e8179eefc492f7c713b4289616bcb795665146d492e42565d33c4b65392dfe67996f367f04564aa58bf017f1e863a28ae46fdbd1cc010934b51bb487e329b6a87d330b976c0c5757287e308de9e37923b5319e7cb167'
+
+new_com_android_providers_telephony_DER_cert_key='308203d4308202bca003020102020900a7eed21fab90ce78300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100d4e89e2e93852da872bd4183a09841d069cb35f27ba9ff95120e7dbd6e74ca1159023d07b1e141cd74b2f8f56d908000baa2325df3f0820d2501f9cf879a16da0bc1a96e9d4d90b50cf1fce05837142aaed93f9f117a5d45a7e95a32c6da859f82ea565a0f5883f407f45b7d2db4cc2
 
c68976bf3a99957f1dda26b5bf1333dd50c47cef1b99989792a130b554282ffe592a9dfb7cc7126bb7ee37b17cf938a339e886b76ab74121d071ae5c2f0c23f8e85a77e75af1d7e453a52060ef30c18916892db45026d700e9b12966b8b296c967767002878e635ca0eb615e799349b90e1f998fe05164afbf7b23e4d89099a7fa60756b7a1da42fcfdff09565e117d950203010001a3533051301d0603551d0e04160414139d988da8c93805513d90849241c8cc06a12a15301f0603551d23041830168014139d988da8c93805513d90849241c8cc06a12a15300f0603551d130101ff040530030101ff300d06092a864886f70d0101050500038201010080d4c43e052da860ff66ca8b3b4b2f62ab9fb37905ad831553822d01fd28c3a9d2fd9106ee1f03f3bcc7387aca126873fc00ee45246910054a96f39998e4a368d6895e32c0cf64c18da12b574642b3df66c051aa7749159ca041426403850c6da062beca9d94f800a6f2cb1f0498c29766d3e9773fbd422a35b414fd31daea081c001ad69a701b1495380ee53601d741f88abeafe535d2cae30216493d4d0036ea77f4348b2692c3759e9cb2157d4ce9460e68d38e02fb5861d5cefad992a2ff7de6e20e8588bf552e27069141ca5d6498ee4730863ecb1642932a35baab5e0a5f445d7cd48c3eb0519b43e1cf78e5b0b501a9b5
 4dda498162a3eaeccb61cc28'
+
+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_providers_media_DER_cert_key='308203d4308202bca003020102020900d57a7110a410312f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100a8ff7765d2055dd75e77bc0beeff6231e7ed2405e7600c0a469f2658f4343d160f18509256a97536dbf7c3758b96a9662c04700e56ece175064be6629bbdfc9c459a6a1db4949fa54b890449a3d60c274e6941aec4cfc38aba6ddabab4a316bb616ae2b09bda
 
9d0de931cc4d8070230db650b410839774d8e527f9f8cdbae449cf2ae1ac8b0ee10ea2c57d69cb4d42e0d69086b7b32a08e333941ae6e00353051133c130ef80434b29b9822d12ce559c932bf38c129dc0f303aafdd5a1cbf6e90fe22a22b118d2fc6f41c1eac73a0bd94a40c4fbcf7da3f4c3cf578e4f8b5c596a5d4a9b946d06e3d904e0effec1f2c2bd2ac038bcd8c324f925558c5a68600d0203010001a3533051301d0603551d0e04160414f88447b8dffe416ea7ce178475e310108196be83301f0603551d23041830168014f88447b8dffe416ea7ce178475e310108196be83300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003cfeec97d317c62e373d53b0550cea1fbf407d17663eb9905b7a57cd8ccbd325c2968e6f0851e39be5ab1d03707c96ee78dcf4e59ab1de37d39bdd4c64346c5f9d2b18502d2ddf3dfcac7d54da5d4cee5ed052daeedf85909de4f8c8c18c592d478902a93868ca41daf55d6a96a688eacf3356e8378f9423a10f83dcf84770e945340f8043c264a7fe3e6ead5f0a776cad59132b48996697cb7895c0c72c16f4868f11a202d0167b415580943f53d63d0db249f0186b4d8c9c336c21bf28e14c9b0dd2597008ea39875655efa08760019d8e1d61ab6ee4c995c1beb7f06f4e6ed7ffa493d085735a716ee
 4d4eb3faa7bbe2e91f0c21cc8aacaa5907a85f127b5'
+
+old_replicant_6_0_0004_rc1_com_android_providers_media_DER_cert_key='308203d4308202bca003020102020900b41cf6eb059ed37c300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3139313132333133303733385a170d3437303431303133303733385a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100e9e345242e63f4f28aa303269e7aa0b0edcd4280899056df6853cf6f01f6949e22153693cc0a3b2315111dfcf9331f83d0c982c060709668fca02fd232cf20a5becc6a97d766771ea664c0e095c525b26907c9823418c4f1a64458b42d5538f64706218ff907
 
2ce45319fe6e4cf3e171a2f261d2bffe198671aa37ca2e7646050f8564e36ad5d9f48a2d762ed1be3199c05d287aed5da2b7c72a23aea823c7824b7ba70da53d90eda68b98fd988fba92cfe4c795d8f1916f690cfe9c6acd7f6213e9cf61d146d50d3395e0a7ff49e115aa41c0a828b7fbaa01791ad2329a4660ff31d74a7f005216c3ad5e0a51c096782061a1f9aa4546f6534a7e702fd36b570203010001a3533051301d0603551d0e041604147b3e0d83afa1eb9b5d05e1ed9e03787226ed87ce301f0603551d230418301680147b3e0d83afa1eb9b5d05e1ed9e03787226ed87ce300f0603551d130101ff040530030101ff300d06092a864886f70d01010505000382010100da17e79294886f2e55422a0b3c628d7e57e946b9167a74cf5689b5f559dcd01cf63f1d5e7e2d72bfe3696c3932f355a7084c1731eeb9ec2725b179518995e21c1496f1d6647788d9baf2a2a321ee396fe14b93b74a1c1b5f1a2200207954ab3fd6f4bf2c50e24c2d6088d2295fd252a060c9a0331a63d44c4ee0f7320ff5d1de7b34f26f525ab8e9c2e6627f29be878032a81848386cb645e271645d3bb92dad6406a4b2f5af1aa2a92a538a4d0f2d582d0c3b72dee74c45181d4aebc418e79bba54d65d4a338f48af85bac73e9f9baacef020ac7c6cff63c575bb1283c632b3e6b9025bc59aeff2a1203
 2bb46dc871871102aa3eed601a6af9632087ea83127'
+
+old_replicant_6_0_0001_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2d66c2af5
 
7bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba7d2891a5e12fc859
 
644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd'
+
+old_replicant_6_0_0003_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2d66c2af5
 
7bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba7d2891a5e12fc859
 
644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd'
+
+old_replicant_6_0_0002_com_android_providers_media_DER_cert_key='3082041930820301a003020102020900e65e51ca1e9ec5a3300d06092a864886f70d01010505003081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e6465301e170d3136303230353232343930315a170d3433303632333232343930315a3081a2310b30090603550406130241553110300e06035504080c0742617661726961310f300d06035504070c064d756e69636831123010060355040a0c095265706c6963616e7431123010060355040b0c095265706c6963616e743123302106035504030c1a576f6c6667616e6720576965646d6579657220202020202020203123302106092a864886f70d0109011614776f6c6667697440776965646d657965722e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100bd3c247c6eeb94fd16403582cf7ef6d39c18b8052765ca3bbe78a1d2d66c2af5
 
7bb628324e26b0c5c0996be1589a005c8645a373ade4cd2565ea34bc9eb4164bd8737b12c031c973835313e848c2faad50a0d9fc2a7395715fbf721fda4bdc9fcb6e376f21d5daba507b8b3f3b23c4be6c74d796e39554d86f0a514f3d2158b91c2fd17f96928d782956c8d9be63c0e4e5ca540f9b7feff68de228c54b28a03f3c1f6ba0ead794df915489f6cd039a1a5ee41f10b68e1f6733f0222fac8e152ad929d76e1959c391195e1d2f31ec97cae406c8dbe967d1d9dea1423e093248b4d9bcda328a7ce471698fdf761a9cb2971b95e7dedfd9d0916b4753d52ac082030203010001a350304e301d0603551d0e0416041447e4e6d80a6312cb44853402dea843969d38e327301f0603551d2304183016801447e4e6d80a6312cb44853402dea843969d38e327300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008190104d2c9cf6c70cbffabdf6a9b0fbe72d6788780113a7a175debced2eebc0ae2e522ef638b7b6cc22f8fc6d49070ccb335a5d64bb10b154dde167cc38fa4909aed8c1342c3ef6a9ddd109add7d23655484643d8173dc1f3c8e46a6eefbfed37869eb4e7365d9d0a67b694d2c5e354887843d732fb36e4b7136a3af96055d82c020fff4a86a235f1d05515746b5b791d22dcc75f8ad64dc93b9d6d33130ba7d2891a5e12fc859
 
644fa6f3accbe0b0e20621e5086eade7f2c67844be00551386b713b572ce898cb97d1ddf9696040ea3b50e41cc9b8007764d9b1094fd446c2183a90dc92d297d9753b6c70616439a8e1af47942c0ababb83f142d5fb947bcd'
+
+new_com_android_providers_media_DER_cert_key='308203d4308202bca003020102020900d57a7110a410312f300d06092a864886f70d0101050500307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e301e170d3230303732313032333931365a170d3437313230373032333931365a307f310b3009060355040613024e413110300e06035504080c07756e6b6e6f776e3110300e06035504070c07756e6b6e6f776e3110300e060355040a0c07756e6b6e6f776e3110300e060355040b0c07756e6b6e6f776e3110300e06035504030c07756e6b6e6f776e3116301406092a864886f70d0109011607756e6b6e6f776e30820122300d06092a864886f70d01010105000382010f003082010a0282010100a8ff7765d2055dd75e77bc0beeff6231e7ed2405e7600c0a469f2658f4343d160f18509256a97536dbf7c3758b96a9662c04700e56ece175064be6629bbdfc9c459a6a1db4949fa54b890449a3d60c274e6941aec4cfc38aba6ddabab4a316bb616ae2b09bda9d0de931cc4d8070230db65
 
0b410839774d8e527f9f8cdbae449cf2ae1ac8b0ee10ea2c57d69cb4d42e0d69086b7b32a08e333941ae6e00353051133c130ef80434b29b9822d12ce559c932bf38c129dc0f303aafdd5a1cbf6e90fe22a22b118d2fc6f41c1eac73a0bd94a40c4fbcf7da3f4c3cf578e4f8b5c596a5d4a9b946d06e3d904e0effec1f2c2bd2ac038bcd8c324f925558c5a68600d0203010001a3533051301d0603551d0e04160414f88447b8dffe416ea7ce178475e310108196be83301f0603551d23041830168014f88447b8dffe416ea7ce178475e310108196be83300f0603551d130101ff040530030101ff300d06092a864886f70d010105050003820101003cfeec97d317c62e373d53b0550cea1fbf407d17663eb9905b7a57cd8ccbd325c2968e6f0851e39be5ab1d03707c96ee78dcf4e59ab1de37d39bdd4c64346c5f9d2b18502d2ddf3dfcac7d54da5d4cee5ed052daeedf85909de4f8c8c18c592d478902a93868ca41daf55d6a96a688eacf3356e8378f9423a10f83dcf84770e945340f8043c264a7fe3e6ead5f0a776cad59132b48996697cb7895c0c72c16f4868f11a202d0167b415580943f53d63d0db249f0186b4d8c9c336c21bf28e14c9b0dd2597008ea39875655efa08760019d8e1d61ab6ee4c995c1beb7f06f4e6ed7ffa493d085735a716ee4d4eb3faa7bbe2e91f0c21c
 c8aacaa5907a85f127b5'
+
+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_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}
+
+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_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}
+
+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

Reply via email to