Revert "[DO NOT MERGE]Revert "Relax minimum signature scheme ver..."
Revert submission 16943318-presubmit-am-bc566b73c1674298b82a1153c03313a1 Reason for revert: This change breaks Better Bug. Reverted Changes: I32a2db8c7:[automerge] [DO NOT MERGE]Revert "Relax minimum si... Ic53d2a361:[DO NOT MERGE]Revert "Relax minimum signature sche... Bug: 223079119 Change-Id: I987bda9df92543f082700936c20aad06f992bdb0
This commit is contained in:
committed by
Neha Jain
parent
3c36fd5fee
commit
01c3d11b83
@@ -1401,9 +1401,11 @@ public class PackageParser {
|
||||
}
|
||||
SigningDetails verified;
|
||||
if (skipVerify) {
|
||||
// systemDir APKs are already trusted, save time by not verifying
|
||||
// systemDir APKs are already trusted, save time by not verifying; since the signature
|
||||
// is not verified and some system apps can have their V2+ signatures stripped allow
|
||||
// pulling the certs from the jar signature.
|
||||
verified = ApkSignatureVerifier.unsafeGetCertsWithoutVerification(
|
||||
apkPath, minSignatureScheme);
|
||||
apkPath, SigningDetails.SignatureSchemeVersion.JAR);
|
||||
} else {
|
||||
verified = ApkSignatureVerifier.verify(apkPath, minSignatureScheme);
|
||||
}
|
||||
|
||||
@@ -3038,9 +3038,11 @@ public class ParsingPackageUtils {
|
||||
SigningDetails verified;
|
||||
try {
|
||||
if (skipVerify) {
|
||||
// systemDir APKs are already trusted, save time by not verifying
|
||||
// systemDir APKs are already trusted, save time by not verifying; since the
|
||||
// signature is not verified and some system apps can have their V2+ signatures
|
||||
// stripped allow pulling the certs from the jar signature.
|
||||
verified = ApkSignatureVerifier.unsafeGetCertsWithoutVerification(
|
||||
baseCodePath, minSignatureScheme);
|
||||
baseCodePath, SigningDetails.SignatureSchemeVersion.JAR);
|
||||
} else {
|
||||
verified = ApkSignatureVerifier.verify(baseCodePath, minSignatureScheme);
|
||||
}
|
||||
|
||||
@@ -15193,15 +15193,17 @@ public class PackageManagerService extends IPackageManager.Stub
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure the package is signed with at least the minimum signature scheme version
|
||||
// required for its target SDK.
|
||||
int minSignatureSchemeVersion =
|
||||
ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
|
||||
pkg.getTargetSdkVersion());
|
||||
if (pkg.getSigningDetails().signatureSchemeVersion < minSignatureSchemeVersion) {
|
||||
throw new PackageManagerException(INSTALL_PARSE_FAILED_NO_CERTIFICATES,
|
||||
"No signature found in package of version " + minSignatureSchemeVersion
|
||||
+ " or newer for package " + pkg.getPackageName());
|
||||
// If the package is not on a system partition ensure it is signed with at least the
|
||||
// minimum signature scheme version required for its target SDK.
|
||||
if ((parseFlags & ParsingPackageUtils.PARSE_IS_SYSTEM_DIR) == 0) {
|
||||
int minSignatureSchemeVersion =
|
||||
ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(
|
||||
pkg.getTargetSdkVersion());
|
||||
if (pkg.getSigningDetails().signatureSchemeVersion < minSignatureSchemeVersion) {
|
||||
throw new PackageManagerException(INSTALL_PARSE_FAILED_NO_CERTIFICATES,
|
||||
"No signature found in package of version " + minSignatureSchemeVersion
|
||||
+ " or newer for package " + pkg.getPackageName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user