Merge from widevine repo of http://go/wvgerrit/17877
The final spec for CENC says that partial encrypted blocks are only
allowed for "cenc" mode, and not for "cens" mode. Also, the
pattern_offset must be 0 for all calls to OEMCrypto_DecryptCENC.
Review doc changes http://go/wvdelta11 and http://go/oemcrypto
Notice that this CL affects documentation and test code only. No
production code is affected.
b/28718266
b/28817376
Change-Id: I1d6a38a763a2b693ea0c26bc909e1c721b8facaf
Merge of http://go/wvgerrit/17652
This CL changes the android/build_and_run_all_unit_tests.sh script to
push exectuables to /data if it can't push to /system/bin.
The script run_all_unit_tests.sh will check if test files are in /data
and run those first, if not, it runs the files in /system/bin.
This change is needed to test unit tests on devices where /system/bin
is a read only file system, even after running "adb remount".
This CL will help verify, but will not fix
b/27678092
Change-Id: Ia0fe8c2e68722f58c2626f22113abdbdc8c5e408
(This is a merge of http://go/wvgerrit/17661)
Because Widevine core always has a decrypt mode set, even on unencrypted
calls where we potentially do not know the crypto mode, it will reject
unencrypted decrypt calls for sessions that have been flagged as
AES-CBC, since the crypto mode defaults to AES-CTR.
The fix is to not validate the crypto mode on unencrypted decrypt calls,
as the data won't be getting decrypted anyway.
Bug: 28423928
Change-Id: If848834dd498ca96983a2b69d448b8d81d50e0a4
am: 850cf0e
* commit '850cf0e08e438738214b056d2ce1a9afd055c197':
Modify QueryStatusL3 test to allow for L3 devices
Change-Id: Ic24ece21bfea4bad5bc368c294565825953e4b85
am: ecfd61e
* commit 'ecfd61e803f64e42d32eb000daf136e510f18a2e':
Modify QueryStatusL3 test to allow for L3 devices
Change-Id: I38e8d9dba45baf91a3ce4886308ad9d01a3bd6e8
Merge from widevine repo of http://go/wvgerrit/17463
This CL updates the unit tests to verify that
OEMCrypto_Generic_Encrypt and OEMCrypto_Generic_Decrypt can handle a
buffer size of at least 100k. It also adds code to the
oemcrypto_dynamic_adapter so that buffer sizes that are larger than
100k are broken into chunks of 100k.
All Nexus devices targeted for N pass these tests.
b/27040752
Change-Id: Iaf5c65d2f0b69e60f03cc99732d1ecab60658049
[ Merge of http://go/wvgerrit/17501 ]
Widevine request_license_tests were written with the expectation that
devices would by default be enabled for security level 1 and fallback
to level 3 if needed. Some devices such as seed are L3 only and results
in failures in the QueryStatusL3 test. This CL corrects the test's
expectation.
b/26902214
Change-Id: Ie84554337cd3716d120f67e592888af0cde719c7
This adds display and logging values to help with debugging b/28024277.
Matching Widevine cl: go/wvgerrit/17446
Bug: 28024277
Change-Id: Ib25ebf37f885b60ae4ab41851df4af4e75b5aace
The AES test was useful to verify the framework API changes, but
the decrypt test was not correct. Removing it for now.
Merge of go/wvgerrit/17472
bug: 27973491
Change-Id: I942fda22072636ea7ce56b992e7d3a60077c0d27
[ merge of http://go/wvgerrit/17454 ]
When processing a license or renewal, calls to Set/UpdateLicense
update the policy information. A side effect was introduced whereby
updating the policy may cause (expiration, session key state)
notifications to be sent to the listener. Due to the ordering,
the notifications would be sent before the keys were loaded/refreshed,
which caused issues when the notifications were immediately acted upon.
This has now been corrected.
b/27842970
Change-Id: Id81a71ff48edfa9ca0baafc43267995d5a3e80a6
(This is a merge of http://go/wvgerrit/17452)
When the Crypto API was updated, several unit tests were removed, as
they did not work with the new API. This patch restores those tests.
Note that this does not add NEW tests for the new functionality
enabled by the API changes. Those will be coming in a separate patch.
This patch merely restores the previous tests and their functionality.
Bug: 26901698
Change-Id: I3315408804bdc6871b58c3620e482bf6d61fe03b
[ Merge from http://go/wvgerrit/17429 ]
This is to correct for when HDCP validation failure at the OEMCrypto level
ends up returning a CryptoException through MediaCrypto with error code
Unknown Error (-2998).
b/27849488
Change-Id: Ib3a9b1c3a17b9323f3d079a678cf88dedeec3b4b
am: ff896a0
* commit 'ff896a0a9b996ee62c95abd78671a4a0450c56f7':
Move Widevine Unit Tests to Standard gMock
Change-Id: I5c545c84bbbbd0bf1f87f28b055ed4f24dd1f76f
am: 19c36a6
* commit '19c36a64d61e180a1fb08b4694b67307af58c089':
Move Widevine Unit Tests to Standard gMock
Change-Id: Ib115baa314284c94b323632a2f491fc13f0de27b