Merge "SourceStampVerification Return more specific error code when verification fails" am: 037244751d am: 0c5d49cdbe am: e0874198f2 am: bef81fb864 am: 2be575d7f4 am: f59cb1b853
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2634449 Change-Id: Ib9737d82c81708e04d3cf00254dce681d6577b96 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -142,16 +142,21 @@ public abstract class SourceStampVerifier {
|
||||
|
||||
private static SourceStampVerificationResult verify(
|
||||
RandomAccessFile apk, byte[] sourceStampCertificateDigest, byte[] manifestBytes) {
|
||||
SignatureInfo signatureInfo;
|
||||
try {
|
||||
SignatureInfo signatureInfo =
|
||||
signatureInfo =
|
||||
ApkSigningBlockUtils.findSignature(apk, SOURCE_STAMP_BLOCK_ID);
|
||||
} catch (IOException | SignatureNotFoundException | RuntimeException e) {
|
||||
return SourceStampVerificationResult.notPresent();
|
||||
}
|
||||
try {
|
||||
Map<Integer, Map<Integer, byte[]>> signatureSchemeApkContentDigests =
|
||||
getSignatureSchemeApkContentDigests(apk, manifestBytes);
|
||||
return verify(
|
||||
signatureInfo,
|
||||
getSignatureSchemeDigests(signatureSchemeApkContentDigests),
|
||||
sourceStampCertificateDigest);
|
||||
} catch (IOException | SignatureNotFoundException | RuntimeException e) {
|
||||
} catch (IOException | RuntimeException e) {
|
||||
return SourceStampVerificationResult.notVerified();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ public class SourceStampVerifierTest {
|
||||
SourceStampVerificationResult result =
|
||||
SourceStampVerifier.verify(mPrimaryApk.getAbsolutePath());
|
||||
|
||||
assertTrue(result.isPresent());
|
||||
assertFalse(result.isPresent());
|
||||
assertFalse(result.isVerified());
|
||||
assertNull(result.getCertificate());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user