Refresh Current Key in Level 3

Merge from Widevine repo of http://go/wvgerrit/26780
and http://go/wvgerrit/26740

Previously, in oemcrypto level 3, a session's current key's duration
was not updated until the next call to SelectKey.  This caused
problems with license that only used one key.  This CL fixes that.

arm64/libwvlevel3.a            Level3 Library 7283 May  2 2017 13:16:21
arm/libwvlevel3.a              Level3 Library 4445 May  2 2017 11:49:34
x86_64/libwvlevel3.a           Level3 Library 7284 May  2 2017 12:09:21
x86/libwvlevel3.a              Level3 Library 4464 May  2 2017 11:53:46

Test: unit tests run on emulator.
b/37481239
b/37523523

Change-Id: Ife90a3358b6620c8fb81324ec2331d3775a38191
This commit is contained in:
Fred Gylys-Colwell
2017-05-02 13:54:02 -07:00
parent 6262f3721f
commit 38b5e8c71c
9 changed files with 50 additions and 28 deletions

View File

@@ -5,8 +5,6 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_SUFFIX := .a
LOCAL_SRC_FILES := level3_stubs.cpp
LOCAL_CFLAGS := -Wno-unused-parameter
LOCAL_C_INCLUDES := \
vendor/widevine/libwvdrmengine/cdm/core/include \
vendor/widevine/libwvdrmengine/cdm/include \
@@ -16,5 +14,5 @@ LOCAL_C_INCLUDES := \
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_OWNER := widevine
LOCAL_MODULE_TARGET_ARCH := mips
LOCAL_MODULE_TARGET_ARCH := mips mips64
include $(BUILD_STATIC_LIBRARY)

View File

@@ -279,6 +279,12 @@ OEMCryptoResult Level3_UpdateUsageTable() {
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}
OEMCryptoResult Level3_DeactivateUsageEntry(OEMCrypto_SESSION session,
const uint8_t *pst,
size_t pst_length) {
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}
OEMCryptoResult Level3_ReportUsage(OEMCrypto_SESSION session,
const uint8_t *pst,
size_t pst_length,
@@ -379,19 +385,5 @@ OEMCryptoResult Level3_CreateOldUsageEntry(uint64_t time_since_license_received,
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}
uint32_t Level3_SupportedCertificates() {
return 0;
}
OEMCryptoResult Level3_GetOEMPublicCertificate(OEMCrypto_SESSION session,
uint8_t *public_cert,
size_t *public_cert_length) {
return OEMCrypto_ERROR_NOT_IMPLEMENTED;
}
OEMCrypto_ProvisioningMethod Level3_GetProvisioningMethod() {
return OEMCrypto_ProvisioningError;
}
} // namespace wvoec3

View File

@@ -1,11 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libwvlevel3
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_SUFFIX := .a
LOCAL_SRC_FILES := $(LOCAL_MODULE)$(LOCAL_MODULE_SUFFIX)
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_OWNER := widevine
LOCAL_MODULE_TARGET_ARCH := mips64
include $(BUILD_PREBUILT)