From b0d85ac1af9b69eaf41309e4f5c82ca4677a44ce Mon Sep 17 00:00:00 2001 From: "John \"Juce\" Bruce" Date: Thu, 8 Aug 2013 14:52:31 -0700 Subject: [PATCH] Add Call to Install Keybox to Widevine CDM This merges the following changes from the Widevine CDM repository: 1a72a7e Combine utility code into single library on Android Combines several previously-separate files into a static library, libcdm_utils, so that it can easily be used by both CDM and OEMCrypto. 8c4d04d Install Keybox If the keybox has not been installed, install it from /factory/wv.keys. Bug: 9972451 Change-Id: I8688ecd0adcf321e0c7d0faf55dd10f3910c12ec --- libwvdrmengine/Android.mk | 23 +++++++++++--- libwvdrmengine/cdm/Android.mk | 9 ------ libwvdrmengine/cdm/core/include/properties.h | 1 + libwvdrmengine/cdm/src/properties_android.cpp | 9 ++++++ libwvdrmengine/cdm/test/unit-test.mk | 4 +-- libwvdrmengine/level3/arm/libwvlevel3.a | Bin 296022 -> 283206 bytes libwvdrmengine/level3/mips/libwvlevel3.a | Bin 315738 -> 305552 bytes libwvdrmengine/level3/x86/libwvlevel3.a | Bin 306828 -> 299514 bytes libwvdrmengine/mediacrypto/test/Android.mk | 4 +-- libwvdrmengine/mediadrm/test/Android.mk | 4 +-- libwvdrmengine/oemcrypto/include/level3.h | 2 +- libwvdrmengine/oemcrypto/mock/Android.mk | 10 ++----- libwvdrmengine/oemcrypto/src/wrapper.cpp | 28 ++++++++++++++++++ libwvdrmengine/oemcrypto/test/Android.mk | 2 +- 14 files changed, 68 insertions(+), 28 deletions(-) diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk index 02a2df54..fbc58966 100644 --- a/libwvdrmengine/Android.mk +++ b/libwvdrmengine/Android.mk @@ -4,18 +4,32 @@ LOCAL_PATH := $(call my-dir) # ----------------------------------------------------------------------------- -# Builds libmodp_b64.a +# Builds libcdm_utils.a # include $(CLEAR_VARS) -LOCAL_MODULE := libmodp_b64 +LOCAL_MODULE := libcdm_utils LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_C_INCLUDES := \ bionic \ - external/stlport/stlport + external/stlport/stlport \ + vendor/widevine/libwvdrmengine/cdm/core/include \ + vendor/widevine/libwvdrmengine/cdm/include \ + vendor/widevine/libwvdrmengine/oemcrypto/include \ + vendor/widevine/libwvdrmengine/third_party/stringencoders/src -LOCAL_SRC_FILES := third_party/stringencoders/src/modp_b64w.cpp +SRC_DIR := cdm/src +CORE_SRC_DIR := cdm/core/src +LOCAL_SRC_FILES := third_party/stringencoders/src/modp_b64w.cpp \ + $(CORE_SRC_DIR)/properties.cpp \ + $(CORE_SRC_DIR)/string_conversions.cpp \ + $(SRC_DIR)/clock.cpp \ + $(SRC_DIR)/file_store.cpp \ + $(SRC_DIR)/lock.cpp \ + $(SRC_DIR)/log.cpp \ + $(SRC_DIR)/properties_android.cpp \ + $(SRC_DIR)/timer.cpp \ include $(BUILD_STATIC_LIBRARY) @@ -77,6 +91,7 @@ LOCAL_C_INCLUDES := \ LOCAL_STATIC_LIBRARIES := \ libcdm \ + libcdm_utils \ libwvwrapper \ libwvlevel3 \ libprotobuf-cpp-2.3.0-lite \ diff --git a/libwvdrmengine/cdm/Android.mk b/libwvdrmengine/cdm/Android.mk index 3199d37f..879ed747 100644 --- a/libwvdrmengine/cdm/Android.mk +++ b/libwvdrmengine/cdm/Android.mk @@ -31,17 +31,8 @@ LOCAL_SRC_FILES := \ $(CORE_SRC_DIR)/device_files.cpp \ $(CORE_SRC_DIR)/license.cpp \ $(CORE_SRC_DIR)/policy_engine.cpp \ - $(CORE_SRC_DIR)/properties.cpp \ - $(CORE_SRC_DIR)/string_conversions.cpp \ - $(SRC_DIR)/clock.cpp \ - $(SRC_DIR)/file_store.cpp \ - $(SRC_DIR)/lock.cpp \ - $(SRC_DIR)/log.cpp \ - $(SRC_DIR)/properties_android.cpp \ - $(SRC_DIR)/timer.cpp \ $(SRC_DIR)/wv_content_decryption_module.cpp -LOCAL_WHOLE_STATIC_LIBRARIES := libmodp_b64 LOCAL_MODULE := libcdm LOCAL_MODULE_TAGS := optional diff --git a/libwvdrmengine/cdm/core/include/properties.h b/libwvdrmengine/cdm/core/include/properties.h index a2302242..f6ad36a5 100644 --- a/libwvdrmengine/cdm/core/include/properties.h +++ b/libwvdrmengine/cdm/core/include/properties.h @@ -47,6 +47,7 @@ class Properties { static bool GetProductName(std::string* product_name); static bool GetBuildInfo(std::string* build_info); static bool GetDeviceFilesBasePath(std::string* base_path); + static bool GetFactoryKeyboxPath(std::string* keybox); private: static void set_begin_license_usage_when_received(bool flag) { diff --git a/libwvdrmengine/cdm/src/properties_android.cpp b/libwvdrmengine/cdm/src/properties_android.cpp index a3269f4e..f35fc8e8 100644 --- a/libwvdrmengine/cdm/src/properties_android.cpp +++ b/libwvdrmengine/cdm/src/properties_android.cpp @@ -92,4 +92,13 @@ bool Properties::GetDeviceFilesBasePath(std::string* base_path) { return true; } +bool Properties::GetFactoryKeyboxPath(std::string* keybox) { + if (!keybox) { + LOGW("Properties::GetFactoryKeyboxPath: Invalid parameter"); + return false; + } + *keybox = "/factory/wv.keys"; + return true; +} + } // namespace wvcdm diff --git a/libwvdrmengine/cdm/test/unit-test.mk b/libwvdrmengine/cdm/test/unit-test.mk index ab9a0fec..3accf210 100644 --- a/libwvdrmengine/cdm/test/unit-test.mk +++ b/libwvdrmengine/cdm/test/unit-test.mk @@ -34,15 +34,15 @@ LOCAL_ADDITIONAL_DEPENDENCIES := $(cdm_proto_gen_headers) LOCAL_STATIC_LIBRARIES := \ libcdm \ + libcdm_protos \ libgmock \ libgtest \ libgtest_main \ libwvwrapper \ libwvlevel3 \ + libcdm_utils \ libprotobuf-cpp-2.3.0-lite -LOCAL_WHOLE_STATIC_LIBRARIES := libcdm_protos - LOCAL_SHARED_LIBRARIES := \ libcrypto \ libcutils \ diff --git a/libwvdrmengine/level3/arm/libwvlevel3.a b/libwvdrmengine/level3/arm/libwvlevel3.a index 1d6857e09e96594a9cf97158950e380930d11a9d..bf429314bbcc3189f567fb32a2bea01697560ae2 100644 GIT binary patch delta 49461 zcmeEvd3+RAy7sB+teu2(Iw3nrcL+&nLKX-R79l`r0tqA{gAq`|YFLDTC?E_Sl~G1f zA_W{aB`Tu`2tg2tpfC)hs3-wZQBm6&MsOJoh!Qvap7+$LO4E~j?|k>W_rLG_a`M*m zZf8Grs_Inrd&}*wZi%W(^z`b{J-=7CZrvS@JO>5e{|-m*yn>#B?WnRc#?CU9zVv@I zdj78+KKv+S|8vp9*kA1b{rK5f#y)@V{~>z*UyT1_TV=A9{aexV?<)Q;>3ROGT>dX5 zjjk7EBT@gMIomExuLvzev;X=YiL!7O{%GRv0_v4G6edoEi3l**$!SlVk< zou;cj3$-^p-K-U6%nC7v>)LorTtLt6-3qjmf6I(Mmx95`SYUx5S?m>dP*XA|TWqB^ z?e@%0p0dW^5{EOmG|j!RcyaM>SFio1I0|28h<$_wV=T+DgVbZNj>|bLUjD{^zN`T^KI)3qcJ(4Gla0#ddb9t>?e6t?l~7)$&+(^6&_E z@~{B+J;f21@gp@Ciy`5xx(R+yHO6^kN*bLpKDkct zhHLp$VfB5e!WstSf4{oxs?6KD>vdK3`KfcV$|lJSP(LV>$Gd{}RCUQxJQ3~ycg*^B zyHZP1-27r~u;sB1!#-{)X;@Soy)m>hq?+wf7AgljcoRyBE(b@&`}F#FN2=GdK3ePU zZpULDqc-hV`&LU)-CHfiXwQ;{K%e%sqB+%7dV{JPl#KzXcJHY(7Xph#y|crVtJ#Ru z0yv3?(6B3@jhe4R4L#NviJC9EoDiiC71aF*YROBdKEF^Tt*;*_RP)V4*STX+^RcDv zQ1fx_k6Rpd=PMo64e;35810QJDZjF2t~q?V>O;oe4~Q2L&m+EvcpC8-;t|9b z5O*ThBW^-`6!9U%C5Q_VXCO{PtVA4*=tdlbSb&&^n1+~wXhRHFn1@|M7yAkEYs8C) zA0lEQ#*QN%L)?e>0wRTNmff{PbMLxyUhb?plPAu~y?xG{+hX8xS` z+*woao;s_0?$p`y=PjC0GiUnj`FG|_uBp-f+I@=lR6(*=8|rA6%of3mh_PRQV|FNvJRHku2E7k1O$#{r4V)g7wupCE7=GUe8$J=-Hm}+R>gV z+Qh5d!z<>^xqJGZ)91{dKKpj zhTSx*eB`i^L%DKMY0qEYrHEd*s70-Gc&Zw%QeD~i z>nWP00(eKMl8~oi|c|MJFGtPo4jCtGuLZL=`H052DXd8o|hnr|cki(DV8snQBWgk=`qoTA2QAC*Na%Xn_M zB`#qJWWIUbVPrr{8j%{f!h*S!l1boxdWVc8wV5MQ)sO(un^WGg(c#_^8C|a!evoi4 zM5D8PFSBHf9vcMXML`lr+FSuut)r*6kJVSw3PglidU`WP+SFMAyyy_RkczDO7NlR5 z(Ky>jrUuSOGRs6kI{4|8K~Ha-pGT&uEy8isFev#pPK!3UJkzzzaEUw&L^R5@Sl2ci zhXwMy18S_ct=#5X4I42&p+DHiX0Eg`N|YTaYVfCWo0=WSn_fnVmP5t2L_6S0%z9ei ziqyb@K*o|qiJtb;J7grOJzSBh^%)g!KdC2X_O*&Y?My|6>x|(L`6@*;%A?=_r8mn{ zDa+I6Mw{zAY>e`Z@Ugk-SDs~o+|h`x_VA67DvqlTqd@K8*SA2wz?WX2H*Z8=LxIG! zlhD~uFMOgg$0dzQRSyMfMW^Ga-}tuBA#L)g%+Bf1G)@e^^U2+VekD4l?HQHXwE)^Q zqtje{vyb-grMA&F=a4gfYD>Jyrd|x>%}3N&9{Yo03+-oSZQM<%O0%~3rp(aMhFfj> zO{r>ZkeIwa^2=|0kap#!jIQH-GK>*pHbDfERDg|P;=sWsF-*pewz+1(O7vN1;Lx

OUaZGx52-xm2;4U|?Y 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 delta 55472 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 diff --git a/libwvdrmengine/level3/mips/libwvlevel3.a b/libwvdrmengine/level3/mips/libwvlevel3.a index c1274e7092ddeddab80c1854b75e262fa29713ca..efdb74a9eba9ce9974d4db88a8a9f74d18961927 100644 GIT binary patch delta 54129 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 Q5)!Uq?x_o#9Y;R<|Gla&(f|Me diff --git a/libwvdrmengine/level3/x86/libwvlevel3.a b/libwvdrmengine/level3/x86/libwvlevel3.a index 5fde1cdd360bb4f1a7c9aaf4ed976826c2a34b1a..adcd784772c104920cd69d21fea0d2468409f14d 100644 GIT binary patch delta 50883 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

YlV0n>$9I`MMBXa@jT0Z*dJm8@6o4w^@ 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 delta 54194 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 Pm|IeGE9Z5Ng?IcP^M=^l diff --git a/libwvdrmengine/mediacrypto/test/Android.mk b/libwvdrmengine/mediacrypto/test/Android.mk index 67a43d4b..0b13ba9f 100644 --- a/libwvdrmengine/mediacrypto/test/Android.mk +++ b/libwvdrmengine/mediacrypto/test/Android.mk @@ -18,6 +18,8 @@ LOCAL_C_INCLUDES := \ LOCAL_STATIC_LIBRARIES := \ libcdm \ + libcdm_protos \ + libcdm_utils \ libgmock \ libgmock_main \ libgtest \ @@ -47,8 +49,6 @@ LOCAL_C_INCLUDES += \ LOCAL_ADDITIONAL_DEPENDENCIES += $(proto_generated_headers) -LOCAL_WHOLE_STATIC_LIBRARIES := libcdm_protos - # End protobuf section LOCAL_MODULE := libwvdrmmediacrypto_test diff --git a/libwvdrmengine/mediadrm/test/Android.mk b/libwvdrmengine/mediadrm/test/Android.mk index 07b3dda5..76baf4e5 100644 --- a/libwvdrmengine/mediadrm/test/Android.mk +++ b/libwvdrmengine/mediadrm/test/Android.mk @@ -18,6 +18,8 @@ LOCAL_C_INCLUDES := \ LOCAL_STATIC_LIBRARIES := \ libcdm \ + libcdm_protos \ + libcdm_utils \ libgmock \ libgmock_main \ libgtest \ @@ -46,8 +48,6 @@ LOCAL_C_INCLUDES += \ LOCAL_ADDITIONAL_DEPENDENCIES += $(proto_generated_headers) -LOCAL_WHOLE_STATIC_LIBRARIES := libcdm_protos - # End protobuf section LOCAL_MODULE := libwvdrmdrmplugin_test diff --git a/libwvdrmengine/oemcrypto/include/level3.h b/libwvdrmengine/oemcrypto/include/level3.h index 0e2b4f43..1a453f4d 100644 --- a/libwvdrmengine/oemcrypto/include/level3.h +++ b/libwvdrmengine/oemcrypto/include/level3.h @@ -1,5 +1,5 @@ /********************************************************************* - * OEMCryptoCENC.h + * level3.h * * (c) Copyright 2013 Google, Inc. * diff --git a/libwvdrmengine/oemcrypto/mock/Android.mk b/libwvdrmengine/oemcrypto/mock/Android.mk index 3ea3605a..985c4aa9 100644 --- a/libwvdrmengine/oemcrypto/mock/Android.mk +++ b/libwvdrmengine/oemcrypto/mock/Android.mk @@ -2,18 +2,12 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) -CDM_SRC_DIR=../../cdm/src -CORE_SRC_DIR=../../cdm/core/src - LOCAL_SRC_FILES:= \ src/oemcrypto_engine_mock.cpp \ src/oemcrypto_key_mock.cpp \ src/oemcrypto_keybox_mock.cpp \ src/oemcrypto_mock.cpp \ src/wvcrc.cpp \ - $(CDM_SRC_DIR)/lock.cpp \ - $(CDM_SRC_DIR)/log.cpp \ - $(CORE_SRC_DIR)/string_conversions.cpp \ LOCAL_MODULE_TAGS := tests @@ -37,7 +31,9 @@ LOCAL_SHARED_LIBRARIES := \ libutils \ libz \ -LOCAL_WHOLE_STATIC_LIBRARIES := libmodp_b64 +LOCAL_STATIC_LIBRARIES := \ + libcdm_utils + LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES) LOCAL_MODULE := liboemcrypto diff --git a/libwvdrmengine/oemcrypto/src/wrapper.cpp b/libwvdrmengine/oemcrypto/src/wrapper.cpp index 191420c4..b2396f37 100644 --- a/libwvdrmengine/oemcrypto/src/wrapper.cpp +++ b/libwvdrmengine/oemcrypto/src/wrapper.cpp @@ -16,6 +16,8 @@ #include "level3.h" #include "log.h" +#include "file_store.h" +#include "properties.h" using namespace wvoec_level3; @@ -232,6 +234,32 @@ OEMCryptoResult OEMCrypto_Initialize(void) { return Level3_Initialize(); } } + if (OEMCrypto_SUCCESS != OEMCrypto_IsKeyboxValid()) { + wvcdm::File file; + std::string filename; + if (!wvcdm::Properties::GetFactoryKeyboxPath(&filename)) { + LOGW("Bad Level 1 Keybox. Falling Back to L3."); + dlclose(level1.library); + level1.library = NULL; + return Level3_Initialize(); + } + ssize_t size = file.FileSize(filename); + if( size <= 0 || !file.Open(filename, file.kBinary | file.kReadOnly) ) { + LOGW("Could not open %s. Falling Back to L3.", filename.c_str()); + dlclose(level1.library); + level1.library = NULL; + return Level3_Initialize(); + } + uint8_t keybox[size]; + ssize_t size_read = file.Read(reinterpret_cast(keybox), size); + if (level1.OEMCrypto_InstallKeybox(keybox, size) != OEMCrypto_SUCCESS) { + LOGE("Could NOT install keybox in /factory/wv.keys. Falling Back to L3."); + dlclose(level1.library); + level1.library = NULL; + return Level3_Initialize(); + } + LOGI("Installed keybox from %s", filename.c_str()); + } LOGD("OEMCrypto_Initialize Level 1 success. I will use level 1."); return OEMCrypto_SUCCESS; } diff --git a/libwvdrmengine/oemcrypto/test/Android.mk b/libwvdrmengine/oemcrypto/test/Android.mk index 0e308d44..ab3a0762 100644 --- a/libwvdrmengine/oemcrypto/test/Android.mk +++ b/libwvdrmengine/oemcrypto/test/Android.mk @@ -21,12 +21,12 @@ LOCAL_C_INCLUDES += \ vendor/widevine/libwvdrmengine/cdm/core/include \ vendor/widevine/libwvdrmengine/third_party/stringencoders/src \ -# TODO(fredgc): fix order dependencies on libwvlevel3 and libwvwrapper. LOCAL_STATIC_LIBRARIES := \ libgtest \ libgtest_main \ libwvwrapper \ libwvlevel3 \ + libcdm_utils \ LOCAL_SHARED_LIBRARIES := \ libcrypto \