[apkverify] Enable apk verification with ECDSA with SHA2-512 digest
This CL implements one missing signature algorithm ECDSA with
SHA2-512 digest.
Bug: 197052981
Test: libapkverify.integration_test
Change-Id: I1c31a2af5672f6a52183cb3f65cb057a3dcf51bc
diff --git a/libs/apkverify/src/algorithms.rs b/libs/apkverify/src/algorithms.rs
index ee9c869..4b9d747 100644
--- a/libs/apkverify/src/algorithms.rs
+++ b/libs/apkverify/src/algorithms.rs
@@ -87,9 +87,7 @@
ensure!(
!matches!(
self,
- SignatureAlgorithmID::EcdsaWithSha512
- | SignatureAlgorithmID::DsaWithSha256
- | SignatureAlgorithmID::VerityDsaWithSha256
+ SignatureAlgorithmID::DsaWithSha256 | SignatureAlgorithmID::VerityDsaWithSha256
),
"TODO(b/197052981): Algorithm '{:#?}' is not implemented.",
self
diff --git a/libs/apkverify/tests/apkverify_test.rs b/libs/apkverify/tests/apkverify_test.rs
index 7e1438f..3818259 100644
--- a/libs/apkverify/tests/apkverify_test.rs
+++ b/libs/apkverify/tests/apkverify_test.rs
@@ -56,9 +56,7 @@
#[test]
fn test_verify_v3_ecdsa_sha512() {
for key_name in KEY_NAMES_ECDSA.iter() {
- let res = verify(format!("tests/data/v3-only-with-ecdsa-sha512-{}.apk", key_name));
- assert!(res.is_err());
- assert_contains(&res.unwrap_err().to_string(), "not implemented");
+ assert!(verify(format!("tests/data/v3-only-with-ecdsa-sha512-{}.apk", key_name)).is_ok());
}
}