Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0874198 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "SourceStampVerification Return more specific error code when...

Merge "SourceStampVerification Return more specific error code when verification fails" am: 03724475 am: 0c5d49cd

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2634449



Change-Id: Ia698db473a64ed60e4900aa00d37730b013eda45
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 40d08804 0c5d49cd
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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();
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -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());
    }