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

Commit 03724475 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "SourceStampVerification Return more specific error code when verification fails"

parents 823b3a4c 5fae7f39
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());
    }