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

This commit is contained in:
Treehugger Robot
2023-06-23 01:08:02 +00:00
committed by Gerrit Code Review
2 changed files with 8 additions and 3 deletions

View File

@@ -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();
}
}

View File

@@ -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());
}