am 03f523ca: am e280ba6c: Merge "Add Short Key ID Test" into mnc-dev

* commit '03f523cab014cc3169d603d289dd51f9ca9ee71e':
  Add Short Key ID Test
This commit is contained in:
Fred Gylys-Colwell
2015-07-04 08:04:40 +00:00
committed by Android Git Automerger

View File

@@ -4734,6 +4734,39 @@ TEST_F(GenericCryptoTest, KeyDurationVerify) {
ASSERT_EQ(OEMCrypto_ERROR_KEY_EXPIRED, sts);
}
TEST_F(GenericCryptoTest, UniformShortKeyId) {
OEMCryptoResult sts;
Session s;
s.open();
s.GenerateTestSessionKeys();
MakeFourKeys(&s);
s.SetKeyId(0, "123456789012"); // 12 bytes.
s.SetKeyId(1, "aaaaaaaaaaaa");
s.SetKeyId(2, "bbbbbbbbbbbb");
s.SetKeyId(3, "cccccccccccc");
s.EncryptAndSign();
s.LoadTestKeys();
unsigned int key_index = 1;
vector<uint8_t> encrypted;
// To make sure OEMCrypto is not expecting the key_id to be zero padded, we
// will create a buffer that is padded with 'Z'.
vector<uint8_t> key_id_buffer(s.license().keys[key_index].key_id_length + 5,
'Z'); // Fill a bigger buffer with letter 'Z'.
memcpy(key_id_buffer.data(), s.license().keys[key_index].key_id,
s.license().keys[key_index].key_id_length);
EncryptBuffer(&s, key_index, clear_buffer_, &encrypted);
sts = OEMCrypto_SelectKey(s.session_id(), key_id_buffer.data(),
s.license().keys[key_index].key_id_length);
ASSERT_EQ(OEMCrypto_SUCCESS, sts);
vector<uint8_t> resultant(encrypted.size());
sts = OEMCrypto_Generic_Decrypt(s.session_id(), &encrypted[0], encrypted.size(),
iv_, OEMCrypto_AES_CBC_128_NO_PADDING,
&resultant[0]);
ASSERT_EQ(OEMCrypto_SUCCESS, sts);
ASSERT_EQ(clear_buffer_, resultant);
}
TEST_F(GenericCryptoTest, DISABLED_ShortKeyId) {
OEMCryptoResult sts;
Session s;