Loading core/java/android/util/apk/SourceStampVerifier.java +7 −2 Original line number Diff line number Diff line Loading @@ -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(); } } Loading core/tests/coretests/src/android/util/apk/SourceStampVerifierTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -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()); } Loading Loading
core/java/android/util/apk/SourceStampVerifier.java +7 −2 Original line number Diff line number Diff line Loading @@ -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(); } } Loading
core/tests/coretests/src/android/util/apk/SourceStampVerifierTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -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()); } Loading