Add Level3 changes for v14 adapters

Merge from Widevine repo of http://go/wvgerrit/41680

These changes change the signature of LoadKeys to LoadKeys_V13 for the
Level 3. This change will be reverted once we update Level 3 to v14.

level3/x86/libl3oemcrypto.cpp  Level3 Library 4464 Jan 23 2018 13:22:20
level3/arm/libl3oemcrypto.cpp  Level3 Library 4445 Jan 23 2018 12:12:32
level3/mips64/libl3oemcrypto.cpp Level3 Library 7285 Jan 23 2018 15:48:51
level3/arm64/libl3oemcrypto.cpp Level3 Library 7283 Jan 23 2018 12:47:26
level3/mips/libl3oemcrypto.cpp Level3 Library 4465 Jan 23 2018 15:13:13
level3/x86_64/libl3oemcrypto.cpp Level3 Library 7284 Jan 23 2018 13:50:10

test: Play Movies plays on sailfish.

Change-Id: Ia492463cd15178b12908faa24af7fbbcfef22e77
This commit is contained in:
Fred Gylys-Colwell
2018-01-23 17:48:00 -08:00
parent d72f49e31a
commit 7bbe8e3bf1
8 changed files with 570354 additions and 574495 deletions

View File

@@ -787,7 +787,7 @@ class Adapter {
level3_.GenerateSignature = Level3_GenerateSignature; level3_.GenerateSignature = Level3_GenerateSignature;
// TODO(srujzs): commenting out the following allows code to compile, but // TODO(srujzs): commenting out the following allows code to compile, but
// all unit tests will fail. // all unit tests will fail.
// TODO(srujzs): add level3_.LoadKeys = Level3_LoadKeys; level3_.LoadKeys_V13 = Level3_LoadKeys_V13; // TODO(srujzs): update.
// TODO(srujzs): add level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys; // TODO(srujzs): add level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys;
level3_.RefreshKeys = Level3_RefreshKeys; level3_.RefreshKeys = Level3_RefreshKeys;
level3_.QueryKeyControl = Level3_QueryKeyControl; level3_.QueryKeyControl = Level3_QueryKeyControl;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,7 @@
#include "level3_file_system.h" #include "level3_file_system.h"
#include "OEMCryptoCENC.h" #include "OEMCryptoCENC.h"
#include "oemcrypto_adapter.h"
namespace wvoec3 { namespace wvoec3 {
@@ -68,7 +69,7 @@ namespace wvoec3 {
#define Level3_IsSRMUpdateSupported _lcc53 #define Level3_IsSRMUpdateSupported _lcc53
#define Level3_GetCurrentSRMVersion _lcc54 #define Level3_GetCurrentSRMVersion _lcc54
#define Level3_LoadSRM _lcc55 #define Level3_LoadSRM _lcc55
#define Level3_LoadKeys _lcc56 #define Level3_LoadKeys_V13 _lcc56
#define Level3_RemoveSRM _lcc57 #define Level3_RemoveSRM _lcc57
#define Level3_CreateUsageTableHeader _lcc61 #define Level3_CreateUsageTableHeader _lcc61
#define Level3_LoadUsageTableHeader _lcc62 #define Level3_LoadUsageTableHeader _lcc62
@@ -128,7 +129,7 @@ namespace wvoec3 {
#define Level3_IsSRMUpdateSupported _oecc53 #define Level3_IsSRMUpdateSupported _oecc53
#define Level3_GetCurrentSRMVersion _oecc54 #define Level3_GetCurrentSRMVersion _oecc54
#define Level3_LoadSRM _oecc55 #define Level3_LoadSRM _oecc55
#define Level3_LoadKeys _oecc56 #define Level3_LoadKeys_V13 _oecc56
#define Level3_RemoveSRM _oecc57 #define Level3_RemoveSRM _oecc57
#define Level3_CreateUsageTableHeader _oecc61 #define Level3_CreateUsageTableHeader _oecc61
#define Level3_LoadUsageTableHeader _oecc62 #define Level3_LoadUsageTableHeader _oecc62
@@ -163,12 +164,14 @@ OEMCryptoResult Level3_GenerateSignature(OEMCrypto_SESSION session,
size_t message_length, size_t message_length,
uint8_t* signature, uint8_t* signature,
size_t* signature_length); size_t* signature_length);
OEMCryptoResult Level3_LoadKeys( // 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, OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
const uint8_t* signature, size_t signature_length, const uint8_t* signature, size_t signature_length,
const uint8_t* enc_mac_keys_iv, const uint8_t* enc_mac_keys, const uint8_t* enc_mac_keys_iv, const uint8_t* enc_mac_keys,
size_t num_keys, const OEMCrypto_KeyObject* key_array, const uint8_t* pst, size_t num_keys, const OEMCrypto_KeyObject_V13* key_array,
size_t pst_length, const uint8_t* srm_requirement); const uint8_t* pst, size_t pst_length, const uint8_t* srm_requirement);
OEMCryptoResult Level3_RefreshKeys(OEMCrypto_SESSION session, OEMCryptoResult Level3_RefreshKeys(OEMCrypto_SESSION session,
const uint8_t* message, const uint8_t* message,
size_t message_length, size_t message_length,