Encryption: don't try wrapped key if not needed
This commit is used to directly use the wrapped key decryption when the "wrappedkey" flag is set in the fstab. Change-Id: I74310c3bbec378ee684a8f6d0395a9776dd22abf (cherry picked from commit 1db943295de9728e364bf0e75bfe9f1a98d413a1)
This commit is contained in:
+9
-2
@@ -685,11 +685,18 @@ void TWPartition::Setup_Data_Partition(bool Display_Error) {
|
||||
} else {
|
||||
|
||||
if (!Decrypt_FBE_DE()) {
|
||||
LOGINFO("Trying wrapped key.\n");
|
||||
property_set("fbe.data.wrappedkey", "true");
|
||||
char wrappedvalue[PROPERTY_VALUE_MAX];
|
||||
property_get("fbe.data.wrappedkey", wrappedvalue, "");
|
||||
std::string wrappedkeyvalue(wrappedvalue);
|
||||
if (wrappedkeyvalue == "true") {
|
||||
LOGERR("Unable to decrypt FBE device\n");
|
||||
} else {
|
||||
LOGINFO("Trying wrapped key.\n");
|
||||
property_set("fbe.data.wrappedkey", "true");
|
||||
if (!Decrypt_FBE_DE()) {
|
||||
LOGERR("Unable to decrypt FBE device\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (datamedia && (!Is_Encrypted || (Is_Encrypted && Is_Decrypted))) {
|
||||
|
||||
+10
-3
@@ -304,10 +304,17 @@ int TWPartitionManager::Process_Fstab(string Fstab_Filename, bool Display_Error,
|
||||
usleep(500);
|
||||
if (Decrypt_Data->Mount(false)) {
|
||||
if (!Decrypt_Data->Decrypt_FBE_DE()) {
|
||||
LOGINFO("Trying wrapped key.\n");
|
||||
property_set("fbe.data.wrappedkey", "true");
|
||||
if (!Decrypt_Data->Decrypt_FBE_DE()) {
|
||||
char wrappedvalue[PROPERTY_VALUE_MAX];
|
||||
property_get("fbe.data.wrappedkey", wrappedvalue, "");
|
||||
std::string wrappedkeyvalue(wrappedvalue);
|
||||
if (wrappedkeyvalue == "true") {
|
||||
LOGERR("Unable to decrypt FBE device\n");
|
||||
} else {
|
||||
LOGINFO("Trying wrapped key.\n");
|
||||
property_set("fbe.data.wrappedkey", "true");
|
||||
if (!Decrypt_Data->Decrypt_FBE_DE()) {
|
||||
LOGERR("Unable to decrypt FBE device\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user