AU: detect failure when using public key verification
This makes public key verification non-fatal. A future CL will use
this knowledge to report statistics.
Change-Id: I9440155dd71621662e5c0f4011b3001bbc65e6d7
BUG=chromium-os:13341
TEST=unittests
Review URL: http://codereview.chromium.org/6778029
diff --git a/delta_performer_unittest.cc b/delta_performer_unittest.cc
index 0c2d9b9..9c926d5 100755
--- a/delta_performer_unittest.cc
+++ b/delta_performer_unittest.cc
@@ -450,18 +450,21 @@
strlen(new_data_string)));
EXPECT_TRUE(utils::FileExists(kUnittestPublicKeyPath));
- bool expect_verify_success =
- signature_test != kSignatureNone &&
- signature_test != kSignatureGeneratedShellBadKey;
- EXPECT_EQ(expect_verify_success,
- performer.VerifyPayload(
- kUnittestPublicKeyPath,
- OmahaHashCalculator::OmahaHashOfData(delta),
- delta.size()));
+ const bool expect_public_verify_failure =
+ signature_test == kSignatureNone ||
+ signature_test == kSignatureGeneratedShellBadKey;
+ bool public_verify_failure = false;
+ EXPECT_TRUE(performer.VerifyPayload(
+ kUnittestPublicKeyPath,
+ OmahaHashCalculator::OmahaHashOfData(delta),
+ delta.size(),
+ &public_verify_failure));
+ EXPECT_EQ(expect_public_verify_failure, public_verify_failure);
EXPECT_TRUE(performer.VerifyPayload(
"/public/key/does/not/exists",
OmahaHashCalculator::OmahaHashOfData(delta),
- delta.size()));
+ delta.size(),
+ NULL));
uint64_t new_kernel_size;
vector<char> new_kernel_hash;