Update OEMCrypto L3 to v14
This CL updates the level 3 library to v14. It includes the following CLs: http://go/wvgerrit/52941 Change initialization of TimeInfo object in L3 http://go/wvgerrit/50820 Use memmove instead of relocs memcpy http://go/wvgerrit/49845 Use memmove or the relocs memcpy in entry_points http://go/wvgerrit/48884 Merge back rollback changes from pi-dev http://go/wvgerrit/47985 Deprecate all_obfuscated_symbols.h http://go/wvgerrit/47720 Invalidate current key index when loading keys http://go/wvgerrit/46206 Split mock into two -- step 3 http://go/wvgerrit/46205 Move some OEMCrypto types to common header - split the mock, step 2 http://go/wvgerrit/46204 Refactor utility code - split the mock, step 1 http://go/wvgerrit/44981 Fix pointer addresses of generation number http://go/wvgerrit/47460 Address offline playback with rollbacked time http://go/wvgerrit/46442 Convert union type-punning to memcpy in Level 3 http://go/wvgerrit/46441 Remove usage of strlen from Level 3 http://go/wvgerrit/41900 Increase size of RSA key for Level3 http://go/wvgerrit/41832 Remove LoadTestKeybox and test keybox code http://go/wvgerrit/41826 Add prov 3.0 and remove prov 2.0 code http://go/wvgerrit/44262 Fixed loading mac keys in mock and Level3 http://go/wvgerrit/43402 Add AES256 to Level 3 http://go/wvgerrit/43045 Add entitlement keys and V14 for Level3 http://go/wvgerrit/38800 Update LoadTestKeybox to take test keybox parameter http://go/wvgerrit/42064 Test Carmicahel RSA Keys http://go/wvgerrit/41701 Update print-version-strings New version numbers: level3/x86/libl3oemcrypto.cpp Level3 Library 8162 May 21 2018 13:50:29 level3/arm/libl3oemcrypto.cpp Level3 Library 8158 May 21 2018 13:52:17 level3/mips64/libl3oemcrypto.cpp Level3 Library 8161 May 21 2018 13:51:47 level3/arm64/libl3oemcrypto.cpp Level3 Library 8159 May 21 2018 13:50:47 level3/mips/libl3oemcrypto.cpp Level3 Library 8160 May 21 2018 13:51:51 level3/x86_64/libl3oemcrypto.cpp Level3 Library 8163 May 21 2018 13:51:19 Test: tested as part of http://go/ag/4674759 Change-Id: Ib2c09e4549e58ad57213168dac27b35543bd64c3
This commit is contained in:
@@ -37,7 +37,6 @@ namespace wvoec3 {
|
||||
#define Level3_GenerateSignature _lcc13
|
||||
#define Level3_GenerateNonce _lcc14
|
||||
#define Level3_RefreshKeys _lcc16
|
||||
#define Level3_SelectKey _lcc17
|
||||
#define Level3_RewrapDeviceRSAKey _lcc18
|
||||
#define Level3_LoadDeviceRSAKey _lcc19
|
||||
#define Level3_GenerateRSASignature _lcc20
|
||||
@@ -60,7 +59,6 @@ namespace wvoec3 {
|
||||
#define Level3_IsAntiRollbackHwPresent _lcc39
|
||||
#define Level3_CopyBuffer _lcc40
|
||||
#define Level3_QueryKeyControl _lcc41
|
||||
#define Level3_LoadTestKeybox _lcc42
|
||||
#define Level3_ForceDeleteUsageEntry _lcc43
|
||||
#define Level3_LoadTestRSAKey _lcc45
|
||||
#define Level3_SecurityPatchLevel _lcc46
|
||||
@@ -71,7 +69,6 @@ namespace wvoec3 {
|
||||
#define Level3_IsSRMUpdateSupported _lcc53
|
||||
#define Level3_GetCurrentSRMVersion _lcc54
|
||||
#define Level3_LoadSRM _lcc55
|
||||
#define Level3_LoadKeys_V13 _lcc56
|
||||
#define Level3_RemoveSRM _lcc57
|
||||
#define Level3_CreateUsageTableHeader _lcc61
|
||||
#define Level3_LoadUsageTableHeader _lcc62
|
||||
@@ -82,6 +79,11 @@ namespace wvoec3 {
|
||||
#define Level3_MoveEntry _lcc68
|
||||
#define Level3_CopyOldUsageEntry _lcc69
|
||||
#define Level3_CreateOldUsageEntry _lcc70
|
||||
#define Level3_GetAnalogOutputFlags _lcc71
|
||||
#define Level3_LoadTestKeybox _lcc78
|
||||
#define Level3_LoadEntitledContentKeys _lcc79
|
||||
#define Level3_SelectKey _lcc81
|
||||
#define Level3_LoadKeys _lcc82
|
||||
#else
|
||||
#define Level3_Initialize _oecc01
|
||||
#define Level3_Terminate _oecc02
|
||||
@@ -97,7 +99,6 @@ namespace wvoec3 {
|
||||
#define Level3_GenerateSignature _oecc13
|
||||
#define Level3_GenerateNonce _oecc14
|
||||
#define Level3_RefreshKeys _oecc16
|
||||
#define Level3_SelectKey _oecc17
|
||||
#define Level3_RewrapDeviceRSAKey _oecc18
|
||||
#define Level3_LoadDeviceRSAKey _oecc19
|
||||
#define Level3_DeriveKeysFromSessionKey _oecc21
|
||||
@@ -118,7 +119,6 @@ namespace wvoec3 {
|
||||
#define Level3_IsAntiRollbackHwPresent _oecc39
|
||||
#define Level3_CopyBuffer _oecc40
|
||||
#define Level3_QueryKeyControl _oecc41
|
||||
#define Level3_LoadTestKeybox _oecc42
|
||||
#define Level3_ForceDeleteUsageEntry _oecc43
|
||||
#define Level3_GetHDCPCapability _oecc44
|
||||
#define Level3_LoadTestRSAKey _oecc45
|
||||
@@ -131,7 +131,6 @@ namespace wvoec3 {
|
||||
#define Level3_IsSRMUpdateSupported _oecc53
|
||||
#define Level3_GetCurrentSRMVersion _oecc54
|
||||
#define Level3_LoadSRM _oecc55
|
||||
#define Level3_LoadKeys_V13 _oecc56
|
||||
#define Level3_RemoveSRM _oecc57
|
||||
#define Level3_CreateUsageTableHeader _oecc61
|
||||
#define Level3_LoadUsageTableHeader _oecc62
|
||||
@@ -143,6 +142,11 @@ namespace wvoec3 {
|
||||
#define Level3_MoveEntry _oecc68
|
||||
#define Level3_CopyOldUsageEntry _oecc69
|
||||
#define Level3_CreateOldUsageEntry _oecc70
|
||||
#define Level3_GetAnalogOutputFlags _oecc71
|
||||
#define Level3_LoadTestKeybox _oecc78
|
||||
#define Level3_LoadEntitledContentKeys _oecc79
|
||||
#define Level3_SelectKey _oecc81
|
||||
#define Level3_LoadKeys _oecc82
|
||||
#endif
|
||||
|
||||
#define Level3_GetInitializationState _oecl3o01
|
||||
@@ -166,14 +170,6 @@ OEMCryptoResult Level3_GenerateSignature(OEMCrypto_SESSION session,
|
||||
size_t message_length,
|
||||
uint8_t* signature,
|
||||
size_t* signature_length);
|
||||
// TODO(srujzs): Change this to LoadKeys once V14 has been implemented for
|
||||
// Level 3.
|
||||
OEMCryptoResult Level3_LoadKeys_V13(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
const uint8_t* signature, size_t signature_length,
|
||||
const uint8_t* enc_mac_keys_iv, const uint8_t* enc_mac_keys,
|
||||
size_t num_keys, const OEMCrypto_KeyObject_V13* key_array,
|
||||
const uint8_t* pst, size_t pst_length, const uint8_t* srm_requirement);
|
||||
OEMCryptoResult Level3_RefreshKeys(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
@@ -186,9 +182,6 @@ OEMCryptoResult Level3_QueryKeyControl(OEMCrypto_SESSION session,
|
||||
size_t key_id_length,
|
||||
uint8_t* key_control_block,
|
||||
size_t* key_control_block_length);
|
||||
OEMCryptoResult Level3_SelectKey(const OEMCrypto_SESSION session,
|
||||
const uint8_t* key_id,
|
||||
size_t key_id_length);
|
||||
OEMCryptoResult Level3_DecryptCENC(OEMCrypto_SESSION session,
|
||||
const uint8_t *data_addr,
|
||||
size_t data_length,
|
||||
@@ -214,7 +207,6 @@ OEMCrypto_ProvisioningMethod Level3_GetProvisioningMethod();
|
||||
OEMCryptoResult Level3_GetOEMPublicCertificate(OEMCrypto_SESSION session,
|
||||
uint8_t *public_cert,
|
||||
size_t *public_cert_length);
|
||||
OEMCryptoResult Level3_LoadTestKeybox();
|
||||
OEMCryptoResult Level3_IsKeyboxValid(void);
|
||||
OEMCryptoResult Level3_GetDeviceID(uint8_t* deviceID,
|
||||
size_t *idLength);
|
||||
@@ -354,7 +346,28 @@ OEMCryptoResult Level3_CreateOldUsageEntry(uint64_t time_since_license_received,
|
||||
uint8_t *client_mac_key,
|
||||
const uint8_t* pst,
|
||||
size_t pst_length);
|
||||
|
||||
uint32_t Level3_GetAnalogOutputFlags();
|
||||
OEMCryptoResult Level3_LoadTestKeybox(const uint8_t *buffer, size_t length);
|
||||
OEMCryptoResult Level3_LoadEntitledContentKeys(OEMCrypto_SESSION session,
|
||||
size_t num_keys,
|
||||
const OEMCrypto_EntitledContentKeyObject* key_array);
|
||||
OEMCryptoResult Level3_SelectKey(const OEMCrypto_SESSION session,
|
||||
const uint8_t* key_id,
|
||||
size_t key_id_length,
|
||||
OEMCryptoCipherMode cipher_mode);
|
||||
OEMCryptoResult Level3_LoadKeys(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length,
|
||||
const uint8_t* enc_mac_key_iv,
|
||||
const uint8_t* enc_mac_key,
|
||||
size_t num_keys,
|
||||
const OEMCrypto_KeyObject* key_array,
|
||||
const uint8_t* pst,
|
||||
size_t pst_length,
|
||||
const uint8_t* srm_requirement,
|
||||
OEMCrypto_LicenseType license_type);
|
||||
/*
|
||||
* Level3_GetInitializationState
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user