INNER CODE UNIT · Java

apkHashes

patrickfav/uber-apk-signer · src/main/java/at/favre/tools/apksigner/signing/CertHashChecker.java:29

        List<String> apkHashes = verifyResult.certInfoList.stream().map(certInfo -> certInfo.certSha256).distinct().sorted().collect(Collectors.toList());
        List<String> providedHashes = Arrays.stream(hashes).distinct().sorted().collect(Collectors.toList());

        for (int i = 0; i < apkHashes.size(); i++) {
            if (!apkHashes.get(i).equalsIgnoreCase(providedHashes.get(i))) {
                return new Result(false, "The following hash does not match with the provided: " + apkHashes.get(i) + " <> " + providedHashes.get(i), hashes);
            }
        }
        return new Result(true, null, hashes);
    }

    public static class Result {
        public final boolean verified;
        public final String errorString;
        public final String[] sha256;

        public Result(boolean verified, String errorString, String[] sha256) {
            this.verified = verified;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…