Merge "Refactor isSupportedSignatureAlgorithm" into rvc-dev am: 0b81d6b2f9
Change-Id: I31e0d59e4859e46b17fa5dac47d9324b7b3e965a
This commit is contained in:
@@ -17,22 +17,13 @@
|
|||||||
package android.util.apk;
|
package android.util.apk;
|
||||||
|
|
||||||
import static android.util.apk.ApkSigningBlockUtils.CONTENT_DIGEST_VERITY_CHUNKED_SHA256;
|
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.compareSignatureAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
||||||
|
import static android.util.apk.ApkSigningBlockUtils.isSupportedSignatureAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
||||||
|
|
||||||
import android.util.ArrayMap;
|
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.
|
* Verified APK Signature Scheme v2 signer.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,22 +17,13 @@
|
|||||||
package android.util.apk;
|
package android.util.apk;
|
||||||
|
|
||||||
import static android.util.apk.ApkSigningBlockUtils.CONTENT_DIGEST_VERITY_CHUNKED_SHA256;
|
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.compareSignatureAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getContentDigestAlgorithmJcaDigestAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
import static android.util.apk.ApkSigningBlockUtils.getLengthPrefixedSlice;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmContentDigestAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaKeyAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
import static android.util.apk.ApkSigningBlockUtils.getSignatureAlgorithmJcaSignatureAlgorithm;
|
||||||
|
import static android.util.apk.ApkSigningBlockUtils.isSupportedSignatureAlgorithm;
|
||||||
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
import static android.util.apk.ApkSigningBlockUtils.readLengthPrefixedByteArray;
|
||||||
|
|
||||||
import android.os.Build;
|
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.
|
* 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(
|
private static void verifyIntegrityFor1MbChunkBasedAlgorithm(
|
||||||
Map<Integer, byte[]> expectedDigests,
|
Map<Integer, byte[]> expectedDigests,
|
||||||
FileDescriptor apkFileDescriptor,
|
FileDescriptor apkFileDescriptor,
|
||||||
|
|||||||
Reference in New Issue
Block a user