Upgrade L3 to v16 and update android makefiles [DO NOT MERGE] am: 2f08c48e94
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/12868368 Change-Id: Iacd880e4efcb8bb15247407714b1f6f832b67e1a
This commit is contained in:
@@ -168,6 +168,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libwvdrmcryptoplugin \
|
||||
libwvdrmdrmplugin \
|
||||
libwvlevel3 \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbase \
|
||||
@@ -229,6 +230,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libwvdrmcryptoplugin_hidl \
|
||||
libwvdrmdrmplugin_hidl \
|
||||
libwvlevel3 \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.0 \
|
||||
|
||||
@@ -374,8 +374,8 @@ struct FunctionPointers {
|
||||
L1_DeactivateUsageEntry_t DeactivateUsageEntry;
|
||||
L1_ReportUsage_t ReportUsage;
|
||||
L1_GetProvisioningMethod_t GetProvisioningMethod;
|
||||
L1_GetOEMPublicCertificate_V15_t GetOEMPublicCertificate_V15;
|
||||
L1_GetOEMPublicCertificate_t GetOEMPublicCertificate;
|
||||
L1_GetOEMPublicCertificate_V15_t GetOEMPublicCertificate_V15;
|
||||
L1_LoadOEMPrivateKey_t LoadOEMPrivateKey;
|
||||
L1_RewrapDeviceRSAKey30_t RewrapDeviceRSAKey30;
|
||||
L1_SupportedCertificates_t SupportedCertificates;
|
||||
@@ -965,20 +965,16 @@ class Adapter {
|
||||
level3_.Terminate = Level3_Terminate;
|
||||
level3_.OpenSession = Level3_OpenSession;
|
||||
level3_.CloseSession = Level3_CloseSession;
|
||||
level3_.GenerateDerivedKeys_V15 = Level3_GenerateDerivedKeys;
|
||||
level3_.GenerateDerivedKeys = Level3_GenerateDerivedKeys;
|
||||
level3_.GenerateNonce = Level3_GenerateNonce;
|
||||
level3_.GenerateSignature = Level3_GenerateSignature;
|
||||
level3_.LoadKeys = Level3_LoadKeys;
|
||||
// TODO(b/139814713): implement V16 DecryptCENC for Haystack L3
|
||||
// level3_.LoadLicense = Level3_LoadLicense;
|
||||
level3_.LoadLicense = Level3_LoadLicense;
|
||||
level3_.LoadEntitledContentKeys = Level3_LoadEntitledContentKeys;
|
||||
// TODO(b/139814713): fix this.
|
||||
// level3_.LoadRenewal = Level3_LoadRenewal;
|
||||
level3_.LoadRenewal = Level3_LoadRenewal;
|
||||
level3_.RefreshKeys = Level3_RefreshKeys;
|
||||
level3_.QueryKeyControl = Level3_QueryKeyControl;
|
||||
level3_.SelectKey = Level3_SelectKey;
|
||||
// TODO(b/139814713): implement V16 DecryptCENC for Haystack L3
|
||||
level3_.DecryptCENC_V15 = Level3_DecryptCENC;
|
||||
level3_.DecryptCENC = Level3_DecryptCENC;
|
||||
level3_.CopyBuffer = Level3_CopyBuffer;
|
||||
level3_.WrapKeybox = Level3_WrapKeyboxOrOEMCert;
|
||||
level3_.InstallKeyboxOrOEMCert = Level3_InstallKeyboxOrOEMCert;
|
||||
@@ -988,14 +984,13 @@ class Adapter {
|
||||
level3_.GetKeyData = Level3_GetKeyData;
|
||||
level3_.GetRandom = Level3_GetRandom;
|
||||
level3_.RewrapDeviceRSAKey = Level3_RewrapDeviceRSAKey;
|
||||
level3_.LoadDeviceRSAKey = Level3_LoadDeviceRSAKey;
|
||||
// TODO(b/139814713): implement V16 DecryptCENC for Haystack L3
|
||||
// level3_.LoadDRMPrivateKey = Level3_LoadDRMPrivateKey;
|
||||
level3_.LoadDRMPrivateKey = Level3_LoadDRMPrivateKey;
|
||||
level3_.LoadOEMPrivateKey = Level3_LoadOEMPrivateKey;
|
||||
level3_.LoadTestRSAKey = Level3_LoadTestRSAKey;
|
||||
level3_.GenerateRSASignature = Level3_GenerateRSASignature;
|
||||
level3_.DeriveKeysFromSessionKey = Level3_DeriveKeysFromSessionKey;
|
||||
level3_.APIVersion = Level3_APIVersion;
|
||||
level3_.MinorAPIVersion = nullptr;
|
||||
level3_.MinorAPIVersion = Level3_MinorAPIVersion;
|
||||
level3_.SecurityPatchLevel = Level3_SecurityPatchLevel;
|
||||
level3_.SecurityLevel = Level3_SecurityLevel;
|
||||
level3_.GetHDCPCapability = Level3_GetHDCPCapability;
|
||||
@@ -1013,8 +1008,7 @@ class Adapter {
|
||||
level3_.DeactivateUsageEntry = Level3_DeactivateUsageEntry;
|
||||
level3_.ReportUsage = Level3_ReportUsage;
|
||||
level3_.GetProvisioningMethod = Level3_GetProvisioningMethod;
|
||||
level3_.GetOEMPublicCertificate_V15 = Level3_GetOEMPublicCertificate;
|
||||
level3_.RewrapDeviceRSAKey30 = Level3_RewrapDeviceRSAKey30;
|
||||
level3_.GetOEMPublicCertificate = Level3_GetOEMPublicCertificate;
|
||||
level3_.SupportedCertificates = Level3_SupportedCertificates;
|
||||
level3_.IsSRMUpdateSupported = Level3_IsSRMUpdateSupported;
|
||||
level3_.GetCurrentSRMVersion = Level3_GetCurrentSRMVersion;
|
||||
@@ -1030,7 +1024,13 @@ class Adapter {
|
||||
level3_.SupportsDecryptHash = Level3_SupportsDecryptHash;
|
||||
level3_.SetDecryptHash = Level3_SetDecryptHash;
|
||||
level3_.GetHashErrorCode = Level3_GetHashErrorCode;
|
||||
level3_.LoadProvisioning = nullptr;
|
||||
level3_.LoadProvisioning = Level3_LoadProvisioning;
|
||||
level3_.PrepAndSignProvisioningRequest = Level3_PrepAndSignProvisioningRequest;
|
||||
level3_.PrepAndSignLicenseRequest = Level3_PrepAndSignLicenseRequest;
|
||||
level3_.PrepAndSignRenewalRequest = Level3_PrepAndSignRenewalRequest;
|
||||
level3_.MaximumUsageTableHeaderSize = Level3_MaximumUsageTableHeaderSize;
|
||||
level3_.AllocateSecureBuffer = Level3_AllocateSecureBuffer;
|
||||
level3_.FreeSecureBuffer = Level3_FreeSecureBuffer;
|
||||
// clang-format on
|
||||
|
||||
level3_.version = Level3_APIVersion();
|
||||
@@ -1073,7 +1073,7 @@ class Adapter {
|
||||
} else {
|
||||
new_session.fcn = &level3_;
|
||||
result = level3_.OpenSession(&new_session.session);
|
||||
*session = new_session.session + kLevel3Offset;
|
||||
*session = new_session.session;
|
||||
}
|
||||
if (result == OEMCrypto_SUCCESS) {
|
||||
std::unique_lock<std::mutex> auto_lock(session_map_lock_);
|
||||
@@ -1108,10 +1108,6 @@ class Adapter {
|
||||
std::map<OEMCrypto_SESSION, LevelSession> session_map_;
|
||||
std::mutex session_map_lock_;
|
||||
std::vector<uint8_t> sandbox_id_;
|
||||
// This is just for debugging the map between session ids.
|
||||
// If we add this to the level 3 session id, then the external session
|
||||
// id will match the internal session id in the last two digits.
|
||||
static const OEMCrypto_SESSION kLevel3Offset = 25600;
|
||||
|
||||
// For running the unit tests using the level 3 oemcrypto. If the user sets
|
||||
// the environment FORCE_LEVEL3_OEMCRYPTO, we ignore the level 1 library.
|
||||
|
||||
@@ -10,7 +10,9 @@ LOCAL_C_INCLUDES := \
|
||||
vendor/widevine/libwvdrmengine/cdm/core/include \
|
||||
vendor/widevine/libwvdrmengine/cdm/util/include \
|
||||
vendor/widevine/libwvdrmengine/level3/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/src
|
||||
LOCAL_MODULE := libwvlevel3
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
LOCAL_SRC_FILES := libl3oemcrypto.cpp \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,9 @@ LOCAL_C_INCLUDES := \
|
||||
vendor/widevine/libwvdrmengine/cdm/core/include \
|
||||
vendor/widevine/libwvdrmengine/cdm/util/include \
|
||||
vendor/widevine/libwvdrmengine/level3/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/src
|
||||
LOCAL_MODULE := libwvlevel3
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
LOCAL_SRC_FILES := libl3oemcrypto.cpp \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,9 @@ LOCAL_C_INCLUDES := \
|
||||
vendor/widevine/libwvdrmengine/cdm/core/include \
|
||||
vendor/widevine/libwvdrmengine/cdm/util/include \
|
||||
vendor/widevine/libwvdrmengine/level3/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/src
|
||||
LOCAL_MODULE := libwvlevel3
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
LOCAL_SRC_FILES := libl3oemcrypto.cpp \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,9 @@ LOCAL_C_INCLUDES := \
|
||||
vendor/widevine/libwvdrmengine/cdm/core/include \
|
||||
vendor/widevine/libwvdrmengine/cdm/util/include \
|
||||
vendor/widevine/libwvdrmengine/level3/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/include \
|
||||
vendor/widevine/libwvdrmengine/oemcrypto/odk/src
|
||||
LOCAL_MODULE := libwvlevel3
|
||||
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
|
||||
LOCAL_SRC_FILES := libl3oemcrypto.cpp \
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -28,6 +28,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libgtest \
|
||||
libwvlevel3 \
|
||||
libwvdrmcryptoplugin \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbase \
|
||||
@@ -88,6 +89,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libgtest \
|
||||
libwvlevel3 \
|
||||
libwvdrmcryptoplugin_hidl \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.0 \
|
||||
|
||||
@@ -29,6 +29,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libgtest \
|
||||
libwvlevel3 \
|
||||
libwvdrmdrmplugin \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libbase \
|
||||
@@ -92,6 +93,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libgtest \
|
||||
libwvlevel3 \
|
||||
libwvdrmdrmplugin_hidl \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.0 \
|
||||
@@ -161,6 +163,7 @@ LOCAL_STATIC_LIBRARIES := \
|
||||
libjsmn \
|
||||
libwvlevel3 \
|
||||
libwvdrmdrmplugin_hidl \
|
||||
libwv_odk \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
android.hardware.drm@1.0 \
|
||||
|
||||
@@ -14,242 +14,237 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "level3_file_system.h"
|
||||
#include "OEMCryptoCENC.h"
|
||||
#include "level3_file_system.h"
|
||||
#include "oemcrypto_adapter.h"
|
||||
|
||||
namespace wvoec3 {
|
||||
|
||||
#ifdef DYNAMIC_ADAPTER
|
||||
#define Level3_IsInApp _lcc00
|
||||
#define Level3_Initialize _lcc01
|
||||
#define Level3_Terminate _lcc02
|
||||
#define Level3_InstallKeyboxOrOEMCert _lcc03
|
||||
#define Level3_GetKeyData _lcc04
|
||||
#define Level3_IsKeyboxOrOEMCertValid _lcc05
|
||||
#define Level3_GetRandom _lcc06
|
||||
#define Level3_GetDeviceID _lcc07
|
||||
#define Level3_WrapKeyboxOrOEMCert _lcc08
|
||||
#define Level3_OpenSession _lcc09
|
||||
#define Level3_CloseSession _lcc10
|
||||
#define Level3_DecryptCENC _lcc11
|
||||
#define Level3_GenerateDerivedKeys _lcc12
|
||||
#define Level3_GenerateSignature _lcc13
|
||||
#define Level3_GenerateNonce _lcc14
|
||||
#define Level3_RewrapDeviceRSAKey _lcc18
|
||||
#define Level3_LoadDeviceRSAKey _lcc19
|
||||
#define Level3_GenerateRSASignature _lcc20
|
||||
#define Level3_DeriveKeysFromSessionKey _lcc21
|
||||
#define Level3_APIVersion _lcc22
|
||||
#define Level3_SecurityLevel _lcc23
|
||||
#define Level3_Generic_Encrypt _lcc24
|
||||
#define Level3_Generic_Decrypt _lcc25
|
||||
#define Level3_Generic_Sign _lcc26
|
||||
#define Level3_Generic_Verify _lcc27
|
||||
#define Level3_GetHDCPCapability _lcc28
|
||||
#define Level3_SupportsUsageTable _lcc29
|
||||
#define Level3_UpdateUsageTable _lcc30
|
||||
#define Level3_DeactivateUsageEntry _lcc31
|
||||
#define Level3_ReportUsage _lcc32
|
||||
#define Level3_DeleteUsageEntry _lcc33
|
||||
#define Level3_DeleteOldUsageTable _lcc34
|
||||
#define Level3_GetMaxNumberOfSessions _lcc37
|
||||
#define Level3_GetNumberOfOpenSessions _lcc38
|
||||
#define Level3_IsAntiRollbackHwPresent _lcc39
|
||||
#define Level3_QueryKeyControl _lcc41
|
||||
#define Level3_ForceDeleteUsageEntry _lcc43
|
||||
#define Level3_LoadTestRSAKey _lcc45
|
||||
#define Level3_SecurityPatchLevel _lcc46
|
||||
#define Level3_GetProvisioningMethod _lcc49
|
||||
#define Level3_GetOEMPublicCertificate _lcc50
|
||||
#define Level3_RewrapDeviceRSAKey30 _lcc51
|
||||
#define Level3_SupportedCertificates _lcc52
|
||||
#define Level3_IsSRMUpdateSupported _lcc53
|
||||
#define Level3_GetCurrentSRMVersion _lcc54
|
||||
#define Level3_LoadSRM _lcc55
|
||||
#define Level3_RemoveSRM _lcc57
|
||||
#define Level3_CreateUsageTableHeader _lcc61
|
||||
#define Level3_LoadUsageTableHeader _lcc62
|
||||
#define Level3_CreateNewUsageEntry _lcc63
|
||||
#define Level3_LoadUsageEntry _lcc64
|
||||
#define Level3_UpdateUsageEntry _lcc65
|
||||
#define Level3_ShrinkUsageTableHeader _lcc67
|
||||
#define Level3_MoveEntry _lcc68
|
||||
#define Level3_CopyOldUsageEntry _lcc69
|
||||
#define Level3_CreateOldUsageEntry _lcc70
|
||||
#define Level3_GetAnalogOutputFlags _lcc71
|
||||
#define Level3_LoadTestKeybox _lcc78
|
||||
#define Level3_SelectKey _lcc81
|
||||
#define Level3_LoadKeys _lcc83
|
||||
#define Level3_SetSandbox _lcc84
|
||||
#define Level3_ResourceRatingTier _lcc85
|
||||
#define Level3_SupportsDecryptHash _lcc86
|
||||
#define Level3_SetDecryptHash _lcc88
|
||||
#define Level3_GetHashErrorCode _lcc89
|
||||
#define Level3_BuildInformation _lcc90
|
||||
#define Level3_RefreshKeys _lcc91
|
||||
#define Level3_LoadEntitledContentKeys _lcc92
|
||||
#define Level3_CopyBuffer _lcc93
|
||||
# define Level3_IsInApp _lcc00
|
||||
# define Level3_Initialize _lcc01
|
||||
# define Level3_Terminate _lcc02
|
||||
# define Level3_InstallKeyboxOrOEMCert _lcc03
|
||||
# define Level3_GetKeyData _lcc04
|
||||
# define Level3_IsKeyboxOrOEMCertValid _lcc05
|
||||
# define Level3_GetRandom _lcc06
|
||||
# define Level3_GetDeviceID _lcc07
|
||||
# define Level3_WrapKeyboxOrOEMCert _lcc08
|
||||
# define Level3_OpenSession _lcc09
|
||||
# define Level3_CloseSession _lcc10
|
||||
# define Level3_GenerateSignature _lcc13
|
||||
# define Level3_GenerateNonce _lcc14
|
||||
# define Level3_RewrapDeviceRSAKey _lcc18
|
||||
# define Level3_LoadDeviceRSAKey _lcc19
|
||||
# define Level3_DeriveKeysFromSessionKey _lcc21
|
||||
# define Level3_APIVersion _lcc22
|
||||
# define Level3_SecurityLevel _lcc23
|
||||
# define Level3_Generic_Encrypt _lcc24
|
||||
# define Level3_Generic_Decrypt _lcc25
|
||||
# define Level3_Generic_Sign _lcc26
|
||||
# define Level3_Generic_Verify _lcc27
|
||||
# define Level3_SupportsUsageTable _lcc29
|
||||
# define Level3_ReportUsage _lcc32
|
||||
# define Level3_GetMaxNumberOfSessions _lcc37
|
||||
# define Level3_GetNumberOfOpenSessions _lcc38
|
||||
# define Level3_IsAntiRollbackHwPresent _lcc39
|
||||
# define Level3_QueryKeyControl _lcc41
|
||||
# define Level3_GetHDCPCapability _lcc44
|
||||
# define Level3_LoadTestRSAKey _lcc45
|
||||
# define Level3_SecurityPatchLevel _lcc46
|
||||
# define Level3_GetProvisioningMethod _lcc49
|
||||
# define Level3_RewrapDeviceRSAKey30 _lcc51
|
||||
# define Level3_SupportedCertificates _lcc52
|
||||
# define Level3_IsSRMUpdateSupported _lcc53
|
||||
# define Level3_GetCurrentSRMVersion _lcc54
|
||||
# define Level3_LoadSRM _lcc55
|
||||
# define Level3_RemoveSRM _lcc57
|
||||
# define Level3_CreateUsageTableHeader _lcc61
|
||||
# define Level3_LoadUsageTableHeader _lcc62
|
||||
# define Level3_CreateNewUsageEntry _lcc63
|
||||
# define Level3_LoadUsageEntry _lcc64
|
||||
# define Level3_UpdateUsageEntry _lcc65
|
||||
# define Level3_ShrinkUsageTableHeader _lcc67
|
||||
# define Level3_MoveEntry _lcc68
|
||||
# define Level3_GetAnalogOutputFlags _lcc71
|
||||
# define Level3_LoadTestKeybox _lcc78
|
||||
# define Level3_SelectKey _lcc81
|
||||
# define Level3_LoadKeys _lcc83
|
||||
# define Level3_SetSandbox _lcc84
|
||||
# define Level3_ResourceRatingTier _lcc85
|
||||
# define Level3_SupportsDecryptHash _lcc86
|
||||
# define Level3_SetDecryptHash _lcc88
|
||||
# define Level3_GetHashErrorCode _lcc89
|
||||
# define Level3_BuildInformation _lcc90
|
||||
# define Level3_RefreshKeys _lcc91
|
||||
# define Level3_LoadEntitledContentKeys _lcc92
|
||||
# define Level3_CopyBuffer _lcc93
|
||||
# define Level3_MaximumUsageTableHeaderSize _lcc94
|
||||
# define Level3_GenerateDerivedKeys _lcc95
|
||||
# define Level3_PrepAndSignLicenseRequest _lcc96
|
||||
# define Level3_PrepAndSignRenewalRequest _lcc97
|
||||
# define Level3_PrepAndSignProvisioningRequest _lcc98
|
||||
# define Level3_LoadLicense _lcc99
|
||||
# define Level3_LoadRenewal _lcc101
|
||||
# define Level3_LoadProvisioning _lcc102
|
||||
# define Level3_LoadOEMPrivateKey _lcc103
|
||||
# define Level3_GetOEMPublicCertificate _lcc104
|
||||
# define Level3_DecryptCENC _lcc105
|
||||
# define Level3_LoadDRMPrivateKey _lcc107
|
||||
# define Level3_MinorAPIVersion _lcc108
|
||||
# define Level3_AllocateSecureBuffer _lcc111
|
||||
# define Level3_FreeSecureBuffer _lcc112
|
||||
#else
|
||||
#define Level3_Initialize _oecc01
|
||||
#define Level3_Terminate _oecc02
|
||||
#define Level3_InstallKeyboxOrOEMCert _oecc03
|
||||
#define Level3_GetKeyData _oecc04
|
||||
#define Level3_IsKeyboxOrOEMCertValid _oecc05
|
||||
#define Level3_GetRandom _oecc06
|
||||
#define Level3_GetDeviceID _oecc07
|
||||
#define Level3_WrapKeyboxOrOEMCert _oecc08
|
||||
#define Level3_OpenSession _oecc09
|
||||
#define Level3_CloseSession _oecc10
|
||||
#define Level3_GenerateDerivedKeys _oecc12
|
||||
#define Level3_GenerateSignature _oecc13
|
||||
#define Level3_GenerateNonce _oecc14
|
||||
#define Level3_RewrapDeviceRSAKey _oecc18
|
||||
#define Level3_LoadDeviceRSAKey _oecc19
|
||||
#define Level3_DeriveKeysFromSessionKey _oecc21
|
||||
#define Level3_APIVersion _oecc22
|
||||
#define Level3_SecurityLevel _oecc23
|
||||
#define Level3_Generic_Encrypt _oecc24
|
||||
#define Level3_Generic_Decrypt _oecc25
|
||||
#define Level3_Generic_Sign _oecc26
|
||||
#define Level3_Generic_Verify _oecc27
|
||||
#define Level3_SupportsUsageTable _oecc29
|
||||
#define Level3_UpdateUsageTable _oecc30
|
||||
#define Level3_ReportUsage _oecc32
|
||||
#define Level3_DeleteUsageEntry _oecc33
|
||||
#define Level3_DeleteOldUsageTable _oecc34
|
||||
#define Level3_GenerateRSASignature _oecc36
|
||||
#define Level3_GetMaxNumberOfSessions _oecc37
|
||||
#define Level3_GetNumberOfOpenSessions _oecc38
|
||||
#define Level3_IsAntiRollbackHwPresent _oecc39
|
||||
#define Level3_QueryKeyControl _oecc41
|
||||
#define Level3_ForceDeleteUsageEntry _oecc43
|
||||
#define Level3_GetHDCPCapability _oecc44
|
||||
#define Level3_LoadTestRSAKey _oecc45
|
||||
#define Level3_SecurityPatchLevel _oecc46
|
||||
#define Level3_DecryptCENC _oecc48
|
||||
#define Level3_GetProvisioningMethod _oecc49
|
||||
#define Level3_GetOEMPublicCertificate _oecc50
|
||||
#define Level3_RewrapDeviceRSAKey30 _oecc51
|
||||
#define Level3_SupportedCertificates _oecc52
|
||||
#define Level3_IsSRMUpdateSupported _oecc53
|
||||
#define Level3_GetCurrentSRMVersion _oecc54
|
||||
#define Level3_LoadSRM _oecc55
|
||||
#define Level3_RemoveSRM _oecc57
|
||||
#define Level3_CreateUsageTableHeader _oecc61
|
||||
#define Level3_LoadUsageTableHeader _oecc62
|
||||
#define Level3_CreateNewUsageEntry _oecc63
|
||||
#define Level3_LoadUsageEntry _oecc64
|
||||
#define Level3_UpdateUsageEntry _oecc65
|
||||
#define Level3_DeactivateUsageEntry _oecc66
|
||||
#define Level3_ShrinkUsageTableHeader _oecc67
|
||||
#define Level3_MoveEntry _oecc68
|
||||
#define Level3_CopyOldUsageEntry _oecc69
|
||||
#define Level3_CreateOldUsageEntry _oecc70
|
||||
#define Level3_GetAnalogOutputFlags _oecc71
|
||||
#define Level3_LoadTestKeybox _oecc78
|
||||
#define Level3_SelectKey _oecc81
|
||||
#define Level3_LoadKeys _oecc83
|
||||
#define Level3_SetSandbox _oecc84
|
||||
#define Level3_ResourceRatingTier _oecc85
|
||||
#define Level3_SupportsDecryptHash _oecc86
|
||||
#define Level3_SetDecryptHash _oecc88
|
||||
#define Level3_GetHashErrorCode _oecc89
|
||||
#define Level3_BuildInformation _oecc90
|
||||
#define Level3_RefreshKeys _oecc91
|
||||
#define Level3_LoadEntitledContentKeys _oecc92
|
||||
#define Level3_CopyBuffer _oecc93
|
||||
# define Level3_Initialize _oecc01
|
||||
# define Level3_Terminate _oecc02
|
||||
# define Level3_InstallKeyboxOrOEMCert _oecc03
|
||||
# define Level3_GetKeyData _oecc04
|
||||
# define Level3_IsKeyboxOrOEMCertValid _oecc05
|
||||
# define Level3_GetRandom _oecc06
|
||||
# define Level3_GetDeviceID _oecc07
|
||||
# define Level3_WrapKeyboxOrOEMCert _oecc08
|
||||
# define Level3_OpenSession _oecc09
|
||||
# define Level3_CloseSession _oecc10
|
||||
# define Level3_GenerateSignature _oecc13
|
||||
# define Level3_GenerateNonce _oecc14
|
||||
# define Level3_RewrapDeviceRSAKey _oecc18
|
||||
# define Level3_LoadDeviceRSAKey _oecc19
|
||||
# define Level3_DeriveKeysFromSessionKey _oecc21
|
||||
# define Level3_APIVersion _oecc22
|
||||
# define Level3_SecurityLevel _oecc23
|
||||
# define Level3_Generic_Encrypt _oecc24
|
||||
# define Level3_Generic_Decrypt _oecc25
|
||||
# define Level3_Generic_Sign _oecc26
|
||||
# define Level3_Generic_Verify _oecc27
|
||||
# define Level3_SupportsUsageTable _oecc29
|
||||
# define Level3_ReportUsage _oecc32
|
||||
# define Level3_GenerateRSASignature _oecc36
|
||||
# define Level3_GetMaxNumberOfSessions _oecc37
|
||||
# define Level3_GetNumberOfOpenSessions _oecc38
|
||||
# define Level3_IsAntiRollbackHwPresent _oecc39
|
||||
# define Level3_QueryKeyControl _oecc41
|
||||
# define Level3_GetHDCPCapability _oecc44
|
||||
# define Level3_LoadTestRSAKey _oecc45
|
||||
# define Level3_SecurityPatchLevel _oecc46
|
||||
# define Level3_GetProvisioningMethod _oecc49
|
||||
# define Level3_RewrapDeviceRSAKey30 _oecc51
|
||||
# define Level3_SupportedCertificates _oecc52
|
||||
# define Level3_IsSRMUpdateSupported _oecc53
|
||||
# define Level3_GetCurrentSRMVersion _oecc54
|
||||
# define Level3_LoadSRM _oecc55
|
||||
# define Level3_RemoveSRM _oecc57
|
||||
# define Level3_CreateUsageTableHeader _oecc61
|
||||
# define Level3_LoadUsageTableHeader _oecc62
|
||||
# define Level3_CreateNewUsageEntry _oecc63
|
||||
# define Level3_LoadUsageEntry _oecc64
|
||||
# define Level3_UpdateUsageEntry _oecc65
|
||||
# define Level3_DeactivateUsageEntry _oecc66
|
||||
# define Level3_ShrinkUsageTableHeader _oecc67
|
||||
# define Level3_MoveEntry _oecc68
|
||||
# define Level3_GetAnalogOutputFlags _oecc71
|
||||
# define Level3_LoadTestKeybox _oecc78
|
||||
# define Level3_SelectKey _oecc81
|
||||
# define Level3_LoadKeys _oecc83
|
||||
# define Level3_SetSandbox _oecc84
|
||||
# define Level3_ResourceRatingTier _oecc85
|
||||
# define Level3_SupportsDecryptHash _oecc86
|
||||
# define Level3_SetDecryptHash _oecc88
|
||||
# define Level3_GetHashErrorCode _oecc89
|
||||
# define Level3_BuildInformation _oecc90
|
||||
# define Level3_RefreshKeys _oecc91
|
||||
# define Level3_LoadEntitledContentKeys _oecc92
|
||||
# define Level3_CopyBuffer _oecc93
|
||||
# define Level3_MaximumUsageTableHeaderSize _oecc94
|
||||
# define Level3_GenerateDerivedKeys _oecc95
|
||||
# define Level3_PrepAndSignLicenseRequest _oecc96
|
||||
# define Level3_PrepAndSignRenewalRequest _oecc97
|
||||
# define Level3_PrepAndSignProvisioningRequest _oecc98
|
||||
# define Level3_LoadLicense _oecc99
|
||||
# define Level3_LoadRenewal _oecc101
|
||||
# define Level3_LoadProvisioning _oecc102
|
||||
# define Level3_LoadOEMPrivateKey _oecc103
|
||||
# define Level3_GetOEMPublicCertificate _oecc104
|
||||
# define Level3_DecryptCENC _oecc105
|
||||
# define Level3_LoadDRMPrivateKey _oecc107
|
||||
# define Level3_MinorAPIVersion _oecc108
|
||||
// TODO(b/171121061): Renaming for oemcrypto_test to find the L3 implementation
|
||||
// of the two functions below. This is to be fixed when
|
||||
// OEMCrypto_AllocateSecureBuffer and OEMCrypto_FreeSecureBuffer are added to
|
||||
// OEMCryptoCENC.h
|
||||
# define Level3_AllocateSecureBuffer OEMCrypto_AllocateSecureBuffer
|
||||
# define Level3_FreeSecureBuffer OEMCrypto_FreeSecureBuffer
|
||||
#endif
|
||||
|
||||
#define Level3_GetInitializationState _oecl3o01
|
||||
#define Level3_GetInitializationState _oecl3o01
|
||||
|
||||
extern "C" {
|
||||
|
||||
bool Level3_IsInApp();
|
||||
OEMCryptoResult Level3_Initialize(void);
|
||||
OEMCryptoResult Level3_Terminate(void);
|
||||
OEMCryptoResult Level3_OpenSession(OEMCrypto_SESSION *session);
|
||||
OEMCryptoResult Level3_OpenSession(OEMCrypto_SESSION* session);
|
||||
OEMCryptoResult Level3_CloseSession(OEMCrypto_SESSION session);
|
||||
OEMCryptoResult Level3_GenerateDerivedKeys(OEMCrypto_SESSION session,
|
||||
const uint8_t *mac_key_context,
|
||||
uint32_t mac_key_context_length,
|
||||
const uint8_t *enc_key_context,
|
||||
uint32_t enc_key_context_length);
|
||||
const uint8_t* mac_key_context,
|
||||
size_t mac_key_context_length,
|
||||
const uint8_t* enc_key_context,
|
||||
size_t enc_key_context_length);
|
||||
OEMCryptoResult Level3_GenerateNonce(OEMCrypto_SESSION session,
|
||||
uint32_t* nonce);
|
||||
OEMCryptoResult Level3_GenerateSignature(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
uint8_t* signature,
|
||||
size_t* signature_length);
|
||||
OEMCryptoResult Level3_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);
|
||||
OEMCryptoResult Level3_DecryptCENC(
|
||||
OEMCrypto_SESSION session, const uint8_t* data_addr, size_t data_length,
|
||||
bool is_encrypted, const uint8_t* iv, size_t block_offset,
|
||||
OEMCrypto_DestBufferDesc* out_buffer_descriptor,
|
||||
const OEMCrypto_CENCEncryptPatternDesc_V15* pattern,
|
||||
uint8_t subsample_flags);
|
||||
OEMCrypto_SESSION session, const OEMCrypto_SampleDescription* samples,
|
||||
size_t samples_length, const OEMCrypto_CENCEncryptPatternDesc* pattern);
|
||||
OEMCryptoResult Level3_InstallKeyboxOrOEMCert(const uint8_t* rot,
|
||||
size_t rotLength);
|
||||
OEMCryptoResult Level3_IsKeyboxOrOEMCertValid(void);
|
||||
OEMCryptoResult Level3_WrapKeyboxOrOEMCert(const uint8_t* rot,
|
||||
size_t rotLength,
|
||||
OEMCryptoResult Level3_WrapKeyboxOrOEMCert(const uint8_t* rot, size_t rotLength,
|
||||
uint8_t* wrappedRot,
|
||||
size_t* wrappedRotLength,
|
||||
const uint8_t* transportKey,
|
||||
size_t transportKeyLength);
|
||||
OEMCrypto_ProvisioningMethod Level3_GetProvisioningMethod();
|
||||
OEMCryptoResult Level3_GetOEMPublicCertificate(OEMCrypto_SESSION session,
|
||||
uint8_t *public_cert,
|
||||
size_t *public_cert_length);
|
||||
OEMCryptoResult Level3_GetDeviceID(uint8_t* deviceID,
|
||||
size_t *idLength);
|
||||
OEMCryptoResult Level3_GetKeyData(uint8_t* keyData,
|
||||
size_t *keyDataLength);
|
||||
OEMCryptoResult Level3_GetRandom(uint8_t* randomData,
|
||||
size_t dataLength);
|
||||
OEMCryptoResult Level3_RewrapDeviceRSAKey30(OEMCrypto_SESSION session,
|
||||
const uint32_t *nonce,
|
||||
const uint8_t* encrypted_message_key,
|
||||
size_t encrypted_message_key_length,
|
||||
const uint8_t* enc_rsa_key,
|
||||
size_t enc_rsa_key_length,
|
||||
const uint8_t* enc_rsa_key_iv,
|
||||
uint8_t* wrapped_rsa_key,
|
||||
size_t* wrapped_rsa_key_length);
|
||||
OEMCryptoResult Level3_RewrapDeviceRSAKey(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length,
|
||||
const uint32_t *nonce,
|
||||
const uint8_t* enc_rsa_key,
|
||||
size_t enc_rsa_key_length,
|
||||
const uint8_t* enc_rsa_key_iv,
|
||||
uint8_t* wrapped_rsa_key,
|
||||
size_t *wrapped_rsa_key_length);
|
||||
OEMCryptoResult Level3_LoadDeviceRSAKey(OEMCrypto_SESSION session,
|
||||
const uint8_t* wrapped_rsa_key,
|
||||
size_t wrapped_rsa_key_length);
|
||||
OEMCryptoResult Level3_GetOEMPublicCertificate(uint8_t* public_cert,
|
||||
size_t* public_cert_length);
|
||||
OEMCryptoResult Level3_GetDeviceID(uint8_t* deviceID, size_t* idLength);
|
||||
OEMCryptoResult Level3_GetKeyData(uint8_t* keyData, size_t* keyDataLength);
|
||||
OEMCryptoResult Level3_GetRandom(uint8_t* randomData, size_t dataLength);
|
||||
OEMCryptoResult Level3_LoadOEMPrivateKey(OEMCrypto_SESSION session);
|
||||
OEMCryptoResult Level3_LoadDRMPrivateKey(OEMCrypto_SESSION session,
|
||||
OEMCrypto_PrivateKeyType key_type,
|
||||
const uint8_t* wrapped_rsa_key,
|
||||
size_t wrapped_rsa_key_length);
|
||||
OEMCryptoResult Level3_LoadProvisioning(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
size_t core_message_length, const uint8_t* signature,
|
||||
size_t signature_length, uint8_t* wrapped_private_key,
|
||||
size_t* wrapped_private_key_length);
|
||||
OEMCryptoResult Level3_RewrapDeviceRSAKey(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
const uint8_t* signature, size_t signature_length, const uint32_t* nonce,
|
||||
const uint8_t* enc_rsa_key, size_t enc_rsa_key_length,
|
||||
const uint8_t* enc_rsa_key_iv, uint8_t* wrapped_rsa_key,
|
||||
size_t* wrapped_rsa_key_length);
|
||||
OEMCryptoResult Level3_LoadTestRSAKey();
|
||||
OEMCryptoResult Level3_GenerateRSASignature(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
uint8_t* signature,
|
||||
size_t *signature_length,
|
||||
size_t* signature_length,
|
||||
RSA_Padding_Scheme padding_scheme);
|
||||
OEMCryptoResult Level3_DeriveKeysFromSessionKey(OEMCrypto_SESSION session,
|
||||
const uint8_t* enc_session_key,
|
||||
size_t enc_session_key_length,
|
||||
const uint8_t *mac_key_context,
|
||||
const uint8_t* mac_key_context,
|
||||
size_t mac_key_context_length,
|
||||
const uint8_t *enc_key_context,
|
||||
const uint8_t* enc_key_context,
|
||||
size_t enc_key_context_length);
|
||||
uint32_t Level3_APIVersion();
|
||||
uint32_t Level3_MinorAPIVersion();
|
||||
uint8_t Level3_SecurityPatchLevel();
|
||||
const char* Level3_SecurityLevel();
|
||||
OEMCryptoResult Level3_GetHDCPCapability(OEMCrypto_HDCP_Capability* current,
|
||||
@@ -261,14 +256,12 @@ OEMCryptoResult Level3_GetMaxNumberOfSessions(size_t* maximum);
|
||||
uint32_t Level3_SupportedCertificates();
|
||||
OEMCryptoResult Level3_Generic_Encrypt(OEMCrypto_SESSION session,
|
||||
const uint8_t* in_buffer,
|
||||
size_t buffer_length,
|
||||
const uint8_t* iv,
|
||||
size_t buffer_length, const uint8_t* iv,
|
||||
OEMCrypto_Algorithm algorithm,
|
||||
uint8_t* out_buffer);
|
||||
OEMCryptoResult Level3_Generic_Decrypt(OEMCrypto_SESSION session,
|
||||
const uint8_t* in_buffer,
|
||||
size_t buffer_length,
|
||||
const uint8_t* iv,
|
||||
size_t buffer_length, const uint8_t* iv,
|
||||
OEMCrypto_Algorithm algorithm,
|
||||
uint8_t* out_buffer);
|
||||
OEMCryptoResult Level3_Generic_Sign(OEMCrypto_SESSION session,
|
||||
@@ -283,39 +276,24 @@ OEMCryptoResult Level3_Generic_Verify(OEMCrypto_SESSION session,
|
||||
OEMCrypto_Algorithm algorithm,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length);
|
||||
OEMCryptoResult Level3_UpdateUsageTable();
|
||||
OEMCryptoResult Level3_DeactivateUsageEntry(OEMCrypto_SESSION session,
|
||||
const uint8_t *pst,
|
||||
const uint8_t* pst,
|
||||
size_t pst_length);
|
||||
OEMCryptoResult Level3_ReportUsage(OEMCrypto_SESSION session,
|
||||
const uint8_t *pst,
|
||||
size_t pst_length,
|
||||
uint8_t *buffer,
|
||||
size_t *buffer_length);
|
||||
OEMCryptoResult Level3_DeleteUsageEntry(OEMCrypto_SESSION session,
|
||||
const uint8_t* pst,
|
||||
size_t pst_length,
|
||||
const uint8_t *message,
|
||||
size_t message_length,
|
||||
const uint8_t *signature,
|
||||
size_t signature_length);
|
||||
OEMCryptoResult Level3_ForceDeleteUsageEntry(const uint8_t* pst,
|
||||
size_t pst_length);
|
||||
OEMCryptoResult Level3_DeleteOldUsageTable();
|
||||
const uint8_t* pst, size_t pst_length,
|
||||
uint8_t* buffer, size_t* buffer_length);
|
||||
bool Level3_IsSRMUpdateSupported();
|
||||
OEMCryptoResult Level3_GetCurrentSRMVersion(uint16_t* version);
|
||||
OEMCryptoResult Level3_LoadSRM(const uint8_t* buffer,
|
||||
size_t buffer_length);
|
||||
OEMCryptoResult Level3_LoadSRM(const uint8_t* buffer, size_t buffer_length);
|
||||
OEMCryptoResult Level3_RemoveSRM();
|
||||
OEMCryptoResult Level3_CreateUsageTableHeader(uint8_t* header_buffer,
|
||||
size_t* header_buffer_length);
|
||||
OEMCryptoResult Level3_LoadUsageTableHeader(const uint8_t* buffer,
|
||||
size_t buffer_length);
|
||||
OEMCryptoResult Level3_CreateNewUsageEntry(OEMCrypto_SESSION session,
|
||||
uint32_t *usage_entry_number);
|
||||
OEMCryptoResult Level3_LoadUsageEntry(OEMCrypto_SESSION session,
|
||||
uint32_t index,
|
||||
const uint8_t *buffer,
|
||||
uint32_t* usage_entry_number);
|
||||
OEMCryptoResult Level3_LoadUsageEntry(OEMCrypto_SESSION session, uint32_t index,
|
||||
const uint8_t* buffer,
|
||||
size_t buffer_size);
|
||||
OEMCryptoResult Level3_UpdateUsageEntry(OEMCrypto_SESSION session,
|
||||
uint8_t* header_buffer,
|
||||
@@ -325,24 +303,18 @@ OEMCryptoResult Level3_UpdateUsageEntry(OEMCrypto_SESSION session,
|
||||
OEMCryptoResult Level3_ShrinkUsageTableHeader(uint32_t new_table_size,
|
||||
uint8_t* header_buffer,
|
||||
size_t* header_buffer_length);
|
||||
OEMCryptoResult Level3_MoveEntry(OEMCrypto_SESSION session,
|
||||
uint32_t new_index);
|
||||
OEMCryptoResult Level3_CopyOldUsageEntry(OEMCrypto_SESSION session,
|
||||
const uint8_t*pst,
|
||||
size_t pst_length);
|
||||
OEMCryptoResult Level3_CreateOldUsageEntry(uint64_t time_since_license_received,
|
||||
uint64_t time_since_first_decrypt,
|
||||
uint64_t time_since_last_decrypt,
|
||||
OEMCrypto_Usage_Entry_Status status,
|
||||
uint8_t *server_mac_key,
|
||||
uint8_t *client_mac_key,
|
||||
const uint8_t* pst,
|
||||
size_t pst_length);
|
||||
OEMCryptoResult Level3_MoveEntry(OEMCrypto_SESSION session, uint32_t new_index);
|
||||
uint32_t Level3_GetAnalogOutputFlags();
|
||||
OEMCryptoResult Level3_LoadTestKeybox(const uint8_t* buffer, size_t length);
|
||||
OEMCryptoResult Level3_SelectKey(const OEMCrypto_SESSION session,
|
||||
const uint8_t* key_id, size_t key_id_length,
|
||||
OEMCryptoCipherMode cipher_mode);
|
||||
OEMCryptoResult Level3_LoadLicense(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
size_t core_message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length);
|
||||
OEMCryptoResult Level3_LoadKeys(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
const uint8_t* signature, size_t signature_length,
|
||||
@@ -361,10 +333,18 @@ OEMCryptoResult Level3_SetDecryptHash(OEMCrypto_SESSION session,
|
||||
OEMCryptoResult Level3_GetHashErrorCode(OEMCrypto_SESSION session,
|
||||
uint32_t* failed_frame_number);
|
||||
const char* Level3_BuildInformation();
|
||||
OEMCryptoResult Level3_RefreshKeys(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
const uint8_t* signature, size_t signature_length, size_t num_keys,
|
||||
const OEMCrypto_KeyRefreshObject* key_array);
|
||||
OEMCryptoResult Level3_LoadRenewal(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
size_t core_message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length);
|
||||
OEMCryptoResult Level3_RefreshKeys(OEMCrypto_SESSION session,
|
||||
const uint8_t* message,
|
||||
size_t message_length,
|
||||
const uint8_t* signature,
|
||||
size_t signature_length, size_t num_keys,
|
||||
const OEMCrypto_KeyRefreshObject* key_array);
|
||||
OEMCryptoResult Level3_LoadEntitledContentKeys(
|
||||
OEMCrypto_SESSION session, const uint8_t* message, size_t message_length,
|
||||
size_t num_keys, const OEMCrypto_EntitledContentKeyObject* key_array);
|
||||
@@ -372,7 +352,22 @@ OEMCryptoResult Level3_CopyBuffer(
|
||||
OEMCrypto_SESSION session, const uint8_t* data_addr, size_t data_length,
|
||||
const OEMCrypto_DestBufferDesc* out_buffer_descriptor,
|
||||
uint8_t subsample_flags);
|
||||
|
||||
OEMCryptoResult Level3_PrepAndSignProvisioningRequest(
|
||||
OEMCrypto_SESSION session, uint8_t* message, size_t message_length,
|
||||
size_t* core_message_length, uint8_t* signature, size_t* signature_length);
|
||||
OEMCryptoResult Level3_PrepAndSignLicenseRequest(
|
||||
OEMCrypto_SESSION session, uint8_t* message, size_t message_length,
|
||||
size_t* core_message_length, uint8_t* signature, size_t* signature_length);
|
||||
OEMCryptoResult Level3_PrepAndSignRenewalRequest(
|
||||
OEMCrypto_SESSION session, uint8_t* message, size_t message_length,
|
||||
size_t* core_message_length, uint8_t* signature, size_t* signature_length);
|
||||
size_t Level3_MaximumUsageTableHeaderSize();
|
||||
OEMCryptoResult Level3_AllocateSecureBuffer(
|
||||
OEMCrypto_SESSION session, size_t buffer_size,
|
||||
OEMCrypto_DestBufferDesc* output_descriptor, int* secure_fd);
|
||||
OEMCryptoResult Level3_FreeSecureBuffer(
|
||||
OEMCrypto_SESSION session, OEMCrypto_DestBufferDesc* output_descriptor,
|
||||
int secure_fd);
|
||||
// The following are specific to Google's Level 3 implementation and are not
|
||||
// required.
|
||||
|
||||
@@ -445,7 +440,7 @@ void Level3_OutputErrorLogs();
|
||||
// serial number or any other character sequence representing that device.
|
||||
// The parameter |len| needs to be changed to reflect the length of the
|
||||
// unique identifier.
|
||||
const char *getUniqueID(size_t *len);
|
||||
const char* getUniqueID(size_t* len);
|
||||
|
||||
// Returns a 64-bit unsigned integer to be used as a random seed for RNG.
|
||||
// If the operation is unsuccessful, this function returns 0.
|
||||
|
||||
@@ -3192,7 +3192,7 @@ class OEMCryptoLoadsCertificateAlternates : public OEMCryptoLoadsCertificate {
|
||||
OEMCryptoResult sts = provisioning_messages.LoadResponse();
|
||||
encoded_rsa_key_ = provisioning_messages.encoded_rsa_key();
|
||||
wrapped_rsa_key_ = provisioning_messages.wrapped_rsa_key();
|
||||
key_loaded_ = (wrapped_rsa_key_.size() > 0);
|
||||
key_loaded_ = (sts == OEMCrypto_SUCCESS && wrapped_rsa_key_.size() > 0);
|
||||
if (force) {
|
||||
EXPECT_EQ(OEMCrypto_SUCCESS, sts);
|
||||
EXPECT_EQ(nullptr, find(wrapped_rsa_key_, encoded_rsa_key_));
|
||||
|
||||
Reference in New Issue
Block a user