OEMCrypto unit tests for license release
Bug: 295956275 Change-Id: I3c8fc5fcadeae051cc734a64378e473492437c34
This commit is contained in:
@@ -105,6 +105,12 @@ typedef OEMCryptoResult (*L1_LoadRenewal_t)(OEMCrypto_SESSION session,
|
||||
size_t core_message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length);
|
||||
typedef OEMCryptoResult (*L1_LoadRelease_t)(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
size_t core_message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length);
|
||||
typedef OEMCryptoResult (*L1_QueryKeyControl_t)(
|
||||
OEMCrypto_SESSION session, const uint8_t* key_id, size_t key_id_length,
|
||||
uint8_t* key_control_block, size_t* key_control_block_length);
|
||||
@@ -365,6 +371,7 @@ struct FunctionPointers {
|
||||
L1_LoadEntitledContentKeys_t LoadEntitledContentKeys;
|
||||
L1_LoadEntitledContentKeys_V16_t LoadEntitledContentKeys_V16;
|
||||
L1_LoadRenewal_t LoadRenewal;
|
||||
L1_LoadRelease_t LoadRelease;
|
||||
L1_QueryKeyControl_t QueryKeyControl;
|
||||
L1_SelectKey_t SelectKey;
|
||||
L1_DecryptCENC_V17_t DecryptCENC_V17;
|
||||
@@ -1078,6 +1085,7 @@ class Adapter {
|
||||
LOOKUP_ALL(18, EnterTestMode, OEMCrypto_EnterTestMode);
|
||||
|
||||
LOOKUP_ALL(19, SetDecryptHash, OEMCrypto_SetDecryptHash);
|
||||
LOOKUP_ALL(19, LoadRelease, OEMCrypto_LoadRelease);
|
||||
|
||||
// clang-format on
|
||||
|
||||
@@ -1119,6 +1127,7 @@ class Adapter {
|
||||
level3_.LoadLicense_V18 = Level3_LoadLicense;
|
||||
level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys;
|
||||
level3_.LoadRenewal = Level3_LoadRenewal;
|
||||
level3_.LoadRelease = Leve3_LoadRelease;
|
||||
level3_.QueryKeyControl = Level3_QueryKeyControl;
|
||||
level3_.SelectKey = Level3_SelectKey;
|
||||
level3_.DecryptCENC_V17 = Level3_DecryptCENC_V17;
|
||||
@@ -2268,6 +2277,23 @@ extern "C" OEMCryptoResult OEMCrypto_LoadRenewal(OEMCrypto_SESSION session,
|
||||
signature_length);
|
||||
}
|
||||
|
||||
extern "C" OEMCryptoResult OEMCrypto_LoadRelease(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
size_t core_message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length) {
|
||||
if (!gAdapter) return OEMCrypto_ERROR_UNKNOWN_FAILURE;
|
||||
LevelSession pair = gAdapter->GetSession(session);
|
||||
if (!pair.fcn) return OEMCrypto_ERROR_INVALID_SESSION;
|
||||
if (pair.fcn->LoadRelease == nullptr) {
|
||||
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
return pair.fcn->LoadRelease(pair.session, message, message_length,
|
||||
core_message_length, signature,
|
||||
signature_length);
|
||||
}
|
||||
|
||||
extern "C" OEMCryptoResult OEMCrypto_QueryKeyControl(
|
||||
OEMCrypto_SESSION session, const uint8_t* key_id, size_t key_id_length,
|
||||
uint8_t* key_control_block, size_t* key_control_block_length) {
|
||||
|
||||
Reference in New Issue
Block a user