Update level 3 reference API for v15

Bug: b/117558570
Merge of http://go/wvgerrit/67563

This CL adds certificate validation, a resource rating, sandbox
functions, build info, modifications to CopyBuffer, and an API
version update.

Change-Id: Id84a33f3553220a659ff628ceb99ab0dbb0ae7b4
This commit is contained in:
Srujan Gaddam
2018-10-30 10:55:13 -07:00
parent f900486d1b
commit a0de811f85

View File

@@ -24,12 +24,12 @@ namespace wvoec3 {
#define Level3_IsInApp _lcc00 #define Level3_IsInApp _lcc00
#define Level3_Initialize _lcc01 #define Level3_Initialize _lcc01
#define Level3_Terminate _lcc02 #define Level3_Terminate _lcc02
#define Level3_InstallKeybox _lcc03 #define Level3_InstallKeyboxOrOEMCert _lcc03
#define Level3_GetKeyData _lcc04 #define Level3_GetKeyData _lcc04
#define Level3_IsKeyboxValid _lcc05 #define Level3_IsKeyboxOrOEMCertValid _lcc05
#define Level3_GetRandom _lcc06 #define Level3_GetRandom _lcc06
#define Level3_GetDeviceID _lcc07 #define Level3_GetDeviceID _lcc07
#define Level3_WrapKeybox _lcc08 #define Level3_WrapKeyboxOrOEMCert _lcc08
#define Level3_OpenSession _lcc09 #define Level3_OpenSession _lcc09
#define Level3_CloseSession _lcc10 #define Level3_CloseSession _lcc10
#define Level3_DecryptCENC _lcc11 #define Level3_DecryptCENC _lcc11
@@ -57,7 +57,6 @@ namespace wvoec3 {
#define Level3_GetMaxNumberOfSessions _lcc37 #define Level3_GetMaxNumberOfSessions _lcc37
#define Level3_GetNumberOfOpenSessions _lcc38 #define Level3_GetNumberOfOpenSessions _lcc38
#define Level3_IsAntiRollbackHwPresent _lcc39 #define Level3_IsAntiRollbackHwPresent _lcc39
#define Level3_CopyBuffer _lcc40
#define Level3_QueryKeyControl _lcc41 #define Level3_QueryKeyControl _lcc41
#define Level3_ForceDeleteUsageEntry _lcc43 #define Level3_ForceDeleteUsageEntry _lcc43
#define Level3_LoadTestRSAKey _lcc45 #define Level3_LoadTestRSAKey _lcc45
@@ -84,15 +83,19 @@ namespace wvoec3 {
#define Level3_LoadEntitledContentKeys _lcc79 #define Level3_LoadEntitledContentKeys _lcc79
#define Level3_SelectKey _lcc81 #define Level3_SelectKey _lcc81
#define Level3_LoadKeys _lcc82 #define Level3_LoadKeys _lcc82
#define Level3_SetSandbox _lcc84
#define Level3_ResourceRatingTier _lcc85
#define Level3_BuildInformation _lcc90
#define Level3_CopyBuffer _lcc93
#else #else
#define Level3_Initialize _oecc01 #define Level3_Initialize _oecc01
#define Level3_Terminate _oecc02 #define Level3_Terminate _oecc02
#define Level3_InstallKeybox _oecc03 #define Level3_InstallKeyboxOrOEMCert _oecc03
#define Level3_GetKeyData _oecc04 #define Level3_GetKeyData _oecc04
#define Level3_IsKeyboxValid _oecc05 #define Level3_IsKeyboxOrOEMCertValid _oecc05
#define Level3_GetRandom _oecc06 #define Level3_GetRandom _oecc06
#define Level3_GetDeviceID _oecc07 #define Level3_GetDeviceID _oecc07
#define Level3_WrapKeybox _oecc08 #define Level3_WrapKeyboxOrOEMCert _oecc08
#define Level3_OpenSession _oecc09 #define Level3_OpenSession _oecc09
#define Level3_CloseSession _oecc10 #define Level3_CloseSession _oecc10
#define Level3_GenerateDerivedKeys _oecc12 #define Level3_GenerateDerivedKeys _oecc12
@@ -117,7 +120,6 @@ namespace wvoec3 {
#define Level3_GetMaxNumberOfSessions _oecc37 #define Level3_GetMaxNumberOfSessions _oecc37
#define Level3_GetNumberOfOpenSessions _oecc38 #define Level3_GetNumberOfOpenSessions _oecc38
#define Level3_IsAntiRollbackHwPresent _oecc39 #define Level3_IsAntiRollbackHwPresent _oecc39
#define Level3_CopyBuffer _oecc40
#define Level3_QueryKeyControl _oecc41 #define Level3_QueryKeyControl _oecc41
#define Level3_ForceDeleteUsageEntry _oecc43 #define Level3_ForceDeleteUsageEntry _oecc43
#define Level3_GetHDCPCapability _oecc44 #define Level3_GetHDCPCapability _oecc44
@@ -147,6 +149,10 @@ namespace wvoec3 {
#define Level3_LoadEntitledContentKeys _oecc79 #define Level3_LoadEntitledContentKeys _oecc79
#define Level3_SelectKey _oecc81 #define Level3_SelectKey _oecc81
#define Level3_LoadKeys _oecc82 #define Level3_LoadKeys _oecc82
#define Level3_SetSandbox _oecc84
#define Level3_ResourceRatingTier _oecc85
#define Level3_BuildInformation _oecc90
#define Level3_CopyBuffer _oecc93
#endif #endif
#define Level3_GetInitializationState _oecl3o01 #define Level3_GetInitializationState _oecl3o01
@@ -188,23 +194,19 @@ OEMCryptoResult Level3_DecryptCENC(OEMCrypto_SESSION session,
OEMCrypto_DestBufferDesc* out_buffer, OEMCrypto_DestBufferDesc* out_buffer,
const OEMCrypto_CENCEncryptPatternDesc* pattern, const OEMCrypto_CENCEncryptPatternDesc* pattern,
uint8_t subsample_flags); uint8_t subsample_flags);
OEMCryptoResult Level3_CopyBuffer(const uint8_t *data_addr, OEMCryptoResult Level3_InstallKeyboxOrOEMCert(const uint8_t* rot,
size_t data_length, size_t rotLength);
OEMCrypto_DestBufferDesc* out_buffer, OEMCryptoResult Level3_IsKeyboxOrOEMCertValid(void);
uint8_t subsample_flags); OEMCryptoResult Level3_WrapKeyboxOrOEMCert(const uint8_t* rot,
OEMCryptoResult Level3_WrapKeybox(const uint8_t *keybox, size_t rotLength,
size_t keyBoxLength, uint8_t* wrappedRot,
uint8_t *wrappedKeybox, size_t* wrappedRotLength,
size_t *wrappedKeyBoxLength, const uint8_t* transportKey,
const uint8_t *transportKey, size_t transportKeyLength);
size_t transportKeyLength);
OEMCryptoResult Level3_InstallKeybox(const uint8_t *keybox,
size_t keyBoxLength);
OEMCrypto_ProvisioningMethod Level3_GetProvisioningMethod(); OEMCrypto_ProvisioningMethod Level3_GetProvisioningMethod();
OEMCryptoResult Level3_GetOEMPublicCertificate(OEMCrypto_SESSION session, OEMCryptoResult Level3_GetOEMPublicCertificate(OEMCrypto_SESSION session,
uint8_t *public_cert, uint8_t *public_cert,
size_t *public_cert_length); size_t *public_cert_length);
OEMCryptoResult Level3_IsKeyboxValid(void);
OEMCryptoResult Level3_GetDeviceID(uint8_t* deviceID, OEMCryptoResult Level3_GetDeviceID(uint8_t* deviceID,
size_t *idLength); size_t *idLength);
OEMCryptoResult Level3_GetKeyData(uint8_t* keyData, OEMCryptoResult Level3_GetKeyData(uint8_t* keyData,
@@ -358,6 +360,15 @@ OEMCryptoResult Level3_LoadKeys(
const OEMCrypto_KeyObject_V14* key_array, const uint8_t* pst, const OEMCrypto_KeyObject_V14* key_array, const uint8_t* pst,
size_t pst_length, const uint8_t* srm_requirement, size_t pst_length, const uint8_t* srm_requirement,
OEMCrypto_LicenseType license_type); OEMCrypto_LicenseType license_type);
OEMCryptoResult Level3_SetSandbox(const uint8_t* sandbox_id,
size_t sandbox_id_length);
uint32_t Level3_ResourceRatingTier();
const char* Level3_BuildInformation();
OEMCryptoResult Level3_CopyBuffer(OEMCrypto_SESSION session,
const uint8_t *data_addr,
size_t data_length,
OEMCrypto_DestBufferDesc* out_buffer,
uint8_t subsample_flags);
/* /*
* Level3_GetInitializationState * Level3_GetInitializationState
* *