Correct bug in HmacKeySharingTest
The key sharing test modified the seed in an invalid way.
Bug: 77588764
Test: VtsHalKeymasterV4_0TargetTest
Change-Id: I0b2ac90397a3f23258ebd4dddc5f6043af7b1600
diff --git a/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp b/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp
index 96c47a8..f159796 100644
--- a/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp
+++ b/keymaster/4.0/vts/functional/HmacKeySharingTest.cpp
@@ -136,6 +136,7 @@
responses = computeSharedHmac(all_keymasters(), params);
ASSERT_GT(responses.size(), 0U);
+ ASSERT_EQ(32U, responses[0].sharing_check.size());
verifyResponses(responses[0].sharing_check, responses);
}
@@ -216,7 +217,11 @@
// matter what value is in the additional byte; it changes the seed regardless.
auto param_to_tweak = rand() % params.size();
auto& to_tweak = params[param_to_tweak].seed;
- to_tweak.resize(to_tweak.size() + 1);
+ ASSERT_TRUE(to_tweak.size() == 32 || to_tweak.size() == 0);
+ if (!to_tweak.size()) {
+ to_tweak.resize(32); // Contents don't matter; a little randomization is nice.
+ }
+ to_tweak[0]++;
responses = computeSharedHmac(all_keymasters(), params);
for (size_t i = 0; i < responses.size(); ++i) {