Merge "Refactor isSupportedSignatureAlgorithm" into rvc-dev am: 0b81d6b2f9 am: 2ee2de2a97
Change-Id: I99d143df86a0d1d5b6900f4e06323cfe6262b7c9
This commit is contained in:
@@ -17,22 +17,13 @@
|
||||
package android.util.apk;
|
||||
|
||||
import static android.util.apk.ApkSigningBlockUtils.CONTENT_DIGEST_VERITY_CHUNKED_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_DSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_ECDSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_ECDSA_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PSS_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PSS_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_DSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_ECDSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_RSA_PKCS1_V1_5_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.compareSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.isSupportedSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
||||
|
||||
import android.util.ArrayMap;
|
||||
@@ -428,24 +419,6 @@ public class ApkSignatureSchemeV2Verifier {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isSupportedSignatureAlgorithm(int sigAlgorithm) {
|
||||
switch (sigAlgorithm) {
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA512:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA512:
|
||||
case SIGNATURE_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_ECDSA_WITH_SHA512:
|
||||
case SIGNATURE_DSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_DSA_WITH_SHA256:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verified APK Signature Scheme v2 signer.
|
||||
*
|
||||
|
||||
@@ -17,22 +17,13 @@
|
||||
package android.util.apk;
|
||||
|
||||
import static android.util.apk.ApkSigningBlockUtils.CONTENT_DIGEST_VERITY_CHUNKED_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_DSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_ECDSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_ECDSA_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PSS_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_RSA_PSS_WITH_SHA512;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_DSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_ECDSA_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.SIGNATURE_VERITY_RSA_PKCS1_V1_5_WITH_SHA256;
|
||||
import static android.util.apk.ApkSigningBlockUtils.compareSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.isSupportedSignatureAlgorithm;
|
||||
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
||||
|
||||
import android.os.Build;
|
||||
@@ -552,24 +543,6 @@ public class ApkSignatureSchemeV3Verifier {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isSupportedSignatureAlgorithm(int sigAlgorithm) {
|
||||
switch (sigAlgorithm) {
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA512:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA512:
|
||||
case SIGNATURE_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_ECDSA_WITH_SHA512:
|
||||
case SIGNATURE_DSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_DSA_WITH_SHA256:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verified processed proof of rotation.
|
||||
*
|
||||
|
||||
@@ -124,6 +124,24 @@ final class ApkSigningBlockUtils {
|
||||
}
|
||||
}
|
||||
|
||||
static boolean isSupportedSignatureAlgorithm(int sigAlgorithm) {
|
||||
switch (sigAlgorithm) {
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PSS_WITH_SHA512:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_RSA_PKCS1_V1_5_WITH_SHA512:
|
||||
case SIGNATURE_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_ECDSA_WITH_SHA512:
|
||||
case SIGNATURE_DSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_RSA_PKCS1_V1_5_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_ECDSA_WITH_SHA256:
|
||||
case SIGNATURE_VERITY_DSA_WITH_SHA256:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private static void verifyIntegrityFor1MbChunkBasedAlgorithm(
|
||||
Map<Integer, byte[]> expectedDigests,
|
||||
FileDescriptor apkFileDescriptor,
|
||||
|
||||
Reference in New Issue
Block a user