Reland "[apkverify] Skip DSA SHA256 during apk verification"
Reland this change as the broken idsig test has been fixed.
Test: libapkverify.integration_test
Bug: 197052981
Change-Id: Ic7c18915b33c506f09a8e821f613668a0600cac2
diff --git a/libs/apkverify/src/algorithms.rs b/libs/apkverify/src/algorithms.rs
index 6d4362b..ed2c1fc 100644
--- a/libs/apkverify/src/algorithms.rs
+++ b/libs/apkverify/src/algorithms.rs
@@ -102,7 +102,7 @@
self,
SignatureAlgorithmID::DsaWithSha256 | SignatureAlgorithmID::VerityDsaWithSha256
),
- "TODO(b/197052981): Algorithm '{:?}' is not implemented.",
+ "Algorithm '{:?}' is not supported in openssl to build this verifier (b/197052981).",
self
);
ensure!(public_key.id() == self.pkey_id(), "Public key has the wrong ID");
@@ -130,6 +130,14 @@
}
}
+ /// DSA is not directly supported in openssl today. See b/197052981.
+ pub(crate) fn is_supported(&self) -> bool {
+ !matches!(
+ self,
+ SignatureAlgorithmID::DsaWithSha256 | SignatureAlgorithmID::VerityDsaWithSha256,
+ )
+ }
+
fn pkey_id(&self) -> pkey::Id {
match self {
SignatureAlgorithmID::RsaPssWithSha256