mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Removing invalid HMAC tests.
Per Keymaster 4.0 spec, TEE and StrongBox implementations are only required to support HMAC keys between 64 and 512 bits in length. StrongBox implementations additionally must not support anything larger than 512 bits. The tests removed in this CL specified key sizes larger than 512 bits. Bug: 143404829 Test: m VtsHalKeymasterV4_0TargetTest && adb sync data && \ adb shell data/nativetest64/VtsHalKeymasterV4_0TargetTest/VtsHalKeymasterV4_0TargetTest Change-Id: I96ee3a20b981c288d88366f536b9924f907268f3
This commit is contained in:
@@ -1540,89 +1540,6 @@ TEST_F(SigningOperationsTest, HmacRfc4231TestCase5) {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* SigningOperationsTest.HmacRfc4231TestCase6
|
||||
*
|
||||
* Validates against the test vectors from RFC 4231 test case 6.
|
||||
*/
|
||||
TEST_F(SigningOperationsTest, HmacRfc4231TestCase6) {
|
||||
string key(131, 0xaa);
|
||||
string message = "Test Using Larger Than Block-Size Key - Hash Key First";
|
||||
|
||||
uint8_t sha_224_expected[] = {
|
||||
0x95, 0xe9, 0xa0, 0xdb, 0x96, 0x20, 0x95, 0xad, 0xae, 0xbe, 0x9b, 0x2d, 0x6f, 0x0d,
|
||||
0xbc, 0xe2, 0xd4, 0x99, 0xf1, 0x12, 0xf2, 0xd2, 0xb7, 0x27, 0x3f, 0xa6, 0x87, 0x0e,
|
||||
};
|
||||
uint8_t sha_256_expected[] = {
|
||||
0x60, 0xe4, 0x31, 0x59, 0x1e, 0xe0, 0xb6, 0x7f, 0x0d, 0x8a, 0x26,
|
||||
0xaa, 0xcb, 0xf5, 0xb7, 0x7f, 0x8e, 0x0b, 0xc6, 0x21, 0x37, 0x28,
|
||||
0xc5, 0x14, 0x05, 0x46, 0x04, 0x0f, 0x0e, 0xe3, 0x7f, 0x54,
|
||||
};
|
||||
uint8_t sha_384_expected[] = {
|
||||
0x4e, 0xce, 0x08, 0x44, 0x85, 0x81, 0x3e, 0x90, 0x88, 0xd2, 0xc6, 0x3a,
|
||||
0x04, 0x1b, 0xc5, 0xb4, 0x4f, 0x9e, 0xf1, 0x01, 0x2a, 0x2b, 0x58, 0x8f,
|
||||
0x3c, 0xd1, 0x1f, 0x05, 0x03, 0x3a, 0xc4, 0xc6, 0x0c, 0x2e, 0xf6, 0xab,
|
||||
0x40, 0x30, 0xfe, 0x82, 0x96, 0x24, 0x8d, 0xf1, 0x63, 0xf4, 0x49, 0x52,
|
||||
};
|
||||
uint8_t sha_512_expected[] = {
|
||||
0x80, 0xb2, 0x42, 0x63, 0xc7, 0xc1, 0xa3, 0xeb, 0xb7, 0x14, 0x93, 0xc1, 0xdd,
|
||||
0x7b, 0xe8, 0xb4, 0x9b, 0x46, 0xd1, 0xf4, 0x1b, 0x4a, 0xee, 0xc1, 0x12, 0x1b,
|
||||
0x01, 0x37, 0x83, 0xf8, 0xf3, 0x52, 0x6b, 0x56, 0xd0, 0x37, 0xe0, 0x5f, 0x25,
|
||||
0x98, 0xbd, 0x0f, 0xd2, 0x21, 0x5d, 0x6a, 0x1e, 0x52, 0x95, 0xe6, 0x4f, 0x73,
|
||||
0xf6, 0x3f, 0x0a, 0xec, 0x8b, 0x91, 0x5a, 0x98, 0x5d, 0x78, 0x65, 0x98,
|
||||
};
|
||||
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_256, make_string(sha_256_expected));
|
||||
if (SecLevel() != SecurityLevel::STRONGBOX) {
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_224, make_string(sha_224_expected));
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_384, make_string(sha_384_expected));
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_512, make_string(sha_512_expected));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* SigningOperationsTest.HmacRfc4231TestCase7
|
||||
*
|
||||
* Validates against the test vectors from RFC 4231 test case 7.
|
||||
*/
|
||||
TEST_F(SigningOperationsTest, HmacRfc4231TestCase7) {
|
||||
string key(131, 0xaa);
|
||||
string message =
|
||||
"This is a test using a larger than block-size key and a larger than "
|
||||
"block-size data. The key needs to be hashed before being used by the HMAC "
|
||||
"algorithm.";
|
||||
|
||||
uint8_t sha_224_expected[] = {
|
||||
0x3a, 0x85, 0x41, 0x66, 0xac, 0x5d, 0x9f, 0x02, 0x3f, 0x54, 0xd5, 0x17, 0xd0, 0xb3,
|
||||
0x9d, 0xbd, 0x94, 0x67, 0x70, 0xdb, 0x9c, 0x2b, 0x95, 0xc9, 0xf6, 0xf5, 0x65, 0xd1,
|
||||
};
|
||||
uint8_t sha_256_expected[] = {
|
||||
0x9b, 0x09, 0xff, 0xa7, 0x1b, 0x94, 0x2f, 0xcb, 0x27, 0x63, 0x5f,
|
||||
0xbc, 0xd5, 0xb0, 0xe9, 0x44, 0xbf, 0xdc, 0x63, 0x64, 0x4f, 0x07,
|
||||
0x13, 0x93, 0x8a, 0x7f, 0x51, 0x53, 0x5c, 0x3a, 0x35, 0xe2,
|
||||
};
|
||||
uint8_t sha_384_expected[] = {
|
||||
0x66, 0x17, 0x17, 0x8e, 0x94, 0x1f, 0x02, 0x0d, 0x35, 0x1e, 0x2f, 0x25,
|
||||
0x4e, 0x8f, 0xd3, 0x2c, 0x60, 0x24, 0x20, 0xfe, 0xb0, 0xb8, 0xfb, 0x9a,
|
||||
0xdc, 0xce, 0xbb, 0x82, 0x46, 0x1e, 0x99, 0xc5, 0xa6, 0x78, 0xcc, 0x31,
|
||||
0xe7, 0x99, 0x17, 0x6d, 0x38, 0x60, 0xe6, 0x11, 0x0c, 0x46, 0x52, 0x3e,
|
||||
};
|
||||
uint8_t sha_512_expected[] = {
|
||||
0xe3, 0x7b, 0x6a, 0x77, 0x5d, 0xc8, 0x7d, 0xba, 0xa4, 0xdf, 0xa9, 0xf9, 0x6e,
|
||||
0x5e, 0x3f, 0xfd, 0xde, 0xbd, 0x71, 0xf8, 0x86, 0x72, 0x89, 0x86, 0x5d, 0xf5,
|
||||
0xa3, 0x2d, 0x20, 0xcd, 0xc9, 0x44, 0xb6, 0x02, 0x2c, 0xac, 0x3c, 0x49, 0x82,
|
||||
0xb1, 0x0d, 0x5e, 0xeb, 0x55, 0xc3, 0xe4, 0xde, 0x15, 0x13, 0x46, 0x76, 0xfb,
|
||||
0x6d, 0xe0, 0x44, 0x60, 0x65, 0xc9, 0x74, 0x40, 0xfa, 0x8c, 0x6a, 0x58,
|
||||
};
|
||||
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_256, make_string(sha_256_expected));
|
||||
if (SecLevel() != SecurityLevel::STRONGBOX) {
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_224, make_string(sha_224_expected));
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_384, make_string(sha_384_expected));
|
||||
CheckHmacTestVector(key, message, Digest::SHA_2_512, make_string(sha_512_expected));
|
||||
}
|
||||
}
|
||||
|
||||
typedef KeymasterHidlTest VerificationOperationsTest;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user