Commit Graph

2442 Commits

Author SHA1 Message Date
Rahul Frias
d59b009495 Merge "Address CE CDM test failures and code review comments" into sc-dev 2021-04-16 08:25:45 +00:00
Rahul Frias
093b39426b Merge "Correct request_license_test failures" into sc-dev am: 5343a90f1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185068

Change-Id: Ia583bbf0d58165d60989045f43f506ca8f3e0c4e
2021-04-16 08:11:28 +00:00
Rahul Frias
5343a90f1f Merge "Correct request_license_test failures" into sc-dev 2021-04-16 07:52:43 +00:00
Fred Gylys-Colwell
bcc1db9b69 Address review comments
Merge from Widevine repo of http://go/wvgerrit/122383

Fix a few grammar errors found in http://go/ag/14154405 and
http://go/ag/14150103.

Bug: 185536454
Test: comments changed only
Change-Id: Ied2af940d705fbfc4af60c1d76a051c8c163097f
2021-04-15 22:07:18 -07:00
TreeHugger Robot
672a7c909b Merge changes Ic7459870,I655babf1,I463642fb,Iccdbcc0b,I2ebbd8f7, ... into sc-dev am: c1d423487f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14185071

Change-Id: Ib74f5f4c86337b5897055db2ea19bb565d69ff33
2021-04-16 03:41:51 +00:00
TreeHugger Robot
c1d423487f Merge changes Ic7459870,I655babf1,I463642fb,Iccdbcc0b,I2ebbd8f7, ... into sc-dev
* changes:
  Fix another typo
  Update license comment
  Update Version Compatibility Document
  Modify OEMCrypto unit tests to allow 16.3 or 16.4
  Update OEMCrypto test comments and logs
  Update OEMCryptoCENC.h header to obfuscate missing functions
  Clean up duration tests
  Use either spelling of AllocateSecureBuffer in dynamic adapter
  Update ODK library for OPK compatibility
2021-04-16 03:10:10 +00:00
Alex Dale
fdd3816858 Merge "Extended Android file store error logs." into sc-dev am: 93cfe22910
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13736812

Change-Id: I8c7cc8bd3347684e3953e275e98bbb6f2eb637a9
2021-04-14 23:50:56 +00:00
Alex Dale
93cfe22910 Merge "Extended Android file store error logs." into sc-dev 2021-04-14 23:05:55 +00:00
Rahul Frias
69f29bbcb2 Remove CBC1 and CENS test
[ Merge of http://go/wvgerrit/122183 ]

Support for CBC1 and CENS encryption modes is no longer required with
OEMCrypto v16. Removing tests to enforce them. The tests will validate
CENC and CBCS mode.

Bug: 181693982
Test: request_license_test
Change-Id: I350d315528c753b70dbf1b1cc46f2897002333fb
2021-04-14 13:33:41 -07:00
Fred Gylys-Colwell
79b2a933e4 Fix another typo
Merge from Widevine repo of http://go/wvgerrit/122123

Bug: 171912044
Change-Id: Ic7459870ac532f04f254913e685a306dbdfe1f7a
2021-04-14 09:53:02 -07:00
Rahul Frias
a674c7cdd0 Correct request_license_test failures
[ Merge of http://go/wvgerrit/122103 ]

When in CTR mode an encryption pattern should no longer be specified.
This will address failures in Cdm/WvCenc30Test.DecryptionTest/* and
Cdm/WvCenc30SwitchCipherModeTest.DecryptionTest/*

Bug: 181693982
Test: WV unit/integration tests
Change-Id: Iecbf28b51115501439aebf057056657c796896ae
2021-04-14 02:57:50 -07:00
Rahul Frias
d802baa4d4 Address CE CDM test failures and code review comments
The android CL ag/13947818 was submitted before some CE CDM test
failures were noticed and code review comments were received.

Bug: 184813991
Test: WV unit/integration test
Change-Id: Ic31ca5bc5e46994e01eca56248e6bdffedd779f3
2021-04-13 11:23:18 -07:00
Fred Gylys-Colwell
e51c9fbbb8 Update license comment
Merge from Widevine repo of http://go/wvgerrit/121950

Remove term "Master" from "Widevine Master License Agreement".

Bug: 168562298
Change-Id: I655babf1bc447f4872f6a0f849107262be42df7a
2021-04-12 14:10:08 -07:00
Fred Gylys-Colwell
64e2176047 Update Version Compatibility Document
Merge from Widevine repo of http://go/wvgerrit/110024

The document now has a date for the R release, and talks about 16.4.

It also more clearly describes how the CDM matches the HIDL interface
version, not the Android OS version.

Test: Doc change only
Bug: 169155700
Change-Id: I463642fbb779388a2ff7758db1a03d998e89510c
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
ef65e86ee2 Modify OEMCrypto unit tests to allow 16.3 or 16.4
Merge from Widevine repo of http://go/wvgerrit/121790

Some unit tests expected OEMCrypto to be the latest ODK version,
but we do not require this for v16.

Bug: 184905579
Change-Id: Iccdbcc0b28587aad79a2a63d8c39a564a47fb585
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
6628c7f693 Update OEMCrypto test comments and logs
Merge from Widevine repo of http://go/wvgerrit/121886

This CL merges some changes from branch rvc-dev to sc-dev
that prepared it for merge.

One change is that the unit tests now say they are part of
Android S instead of R.

Bug: 180546871
Change-Id: I2ebbd8f7b8586389ebb75f3743a2dc2ad8caa214
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
d265a5fe73 Update OEMCryptoCENC.h header to obfuscate missing functions
This CL adds AllocateSecureBuffer and FreeSecureBuffer to the list of
function names that are obfuscated. It also corrects some spelling and
formatting in OEMCrypto headers. This is still version 16.4.

Merge from Widevine repo of
http://go/wvgerrit/115803
http://go/wvgerrit/111104
http://go/wvgerrit/108703
http://go/wvgerrit/108703

Bug: 139814713
Bug: 141202789
bug: 168634557
bug: 168635928
bug: 168637230
bug: 168639188
Change-Id: I6f06549b2cf104c6751b2947964569e974fcdcd2
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
e998b08de7 Clean up duration tests
Merge from Widevine repo of http://go/wvgerrit/120903

Some comments in the duration tests had stale numbers in them. This
was fixed.

Also, the tests CdmUseCase_LicenseDuration were failing with a v16 CDM
and a v15 OEMCrypto because the exact cutoff time is different in
those two cases. That is exactly why specifying the license duration
is not recommended. The tests have been modified to handle both
acceptable behaviors.

Bug: 182237739
Change-Id: I05765beacfe69d02e7366bb3f651f0d5888ab3e5
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
504b05492b Use either spelling of AllocateSecureBuffer in dynamic adapter
Merge from Widevine repo of http://go/wvgerrit/121883

There was a problem in the v16.3 header that did not rename
OEMCrypto_AllocateSecureBuffer to _oecc109 or
OEMCrypto_FreeSecureBuffer to _oecc110. These functions are only used
in testing.

This changes the dynamic adapter to accept either name for those
functions.

Bug: 171121061
Change-Id: I30121c7524e8db580ba85f3e686a7a7c429d80a9
2021-04-12 14:00:53 -07:00
Fred Gylys-Colwell
6a59fee30a Update ODK library for OPK compatibility
This is a merge from http://go/wvgerrit of several changes to the ODK
library that allow it to be used in the same compilation unit as the
OPK serialization/deserialization code.

Merge of:
http://go/wvgerrit/104403
http://go/wvgerrit/105663
http://go/wvgerrit/106004
http://go/wvgerrit/107903
http://go/wvgerrit/107985
http://go/wvgerrit/110167
http://go/wvgerrit/110403
http://go/wvgerrit/110423
http://go/wvgerrit/110663
http://go/wvgerrit/110703
http://go/wvgerrit/110985
http://go/wvgerrit/111703
http://go/wvgerrit/112563
http://go/wvgerrit/113243
http://go/wvgerrit/115204
http://go/wvgerrit/117803
http://go/wvgerrit/121949

bug: 174518179
bug: 175920940
bug: 175126254
Change-Id: I433459182043ca43a040cdbc16d04f2b8215067a
2021-04-12 13:59:59 -07:00
Alex Dale
36dc9bb97b Extended Android file store error logs.
[ Merge of http://go/wvgerrit/120763 ]

This change introduces additional logging information for files and
file system operations on Android.

File reading and writing will attempt to make sense of |errno| and
log useful information.   In the event that the file must be closed,
the file stat will be printed.

Failures in determining the file size will print potential reasons for
the encountered error.

This partly restructures the File interface implementation to use file
descriptors instead of the C standard libraries FILE handle.  This is
done to ensure that |errno| is set to an expected value.

This change also introduces the utility functions SafeWrite() and
SafeRead() to handle common, retriable errors.

Bug: 178232354
Test: Android MediaDrm GTS and Android file-based unittests
Change-Id: I15a3c47a271098c9edb4bd9f619ed1a12dca6143
2021-04-09 14:23:24 -07:00
Alex Dale
766204f2b8 Merge "Cleaned up OEMCrypto security level getter." into sc-dev am: 985d0b5129
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14137665

Change-Id: I4709819030cb44c2ae5d7f4df190454b335d67e5
2021-04-09 21:12:46 +00:00
Alex Dale
eff0ef2713 Merge "Restructed reference root of trust (3/3 OEM Cert)" into sc-dev am: 9903798373
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13625377

Change-Id: I1539c4f04dcb38a5ef33ac42233233bdbf80d0c8
2021-04-09 21:12:43 +00:00
Alex Dale
74c1ab4cdc Merge "Restructed reference root of trust (2/3 DRM Cert)" into sc-dev am: cae8f6a04e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13625376

Change-Id: Ife88e89ef54628034819a75dfd8a899a869253e4
2021-04-09 21:12:20 +00:00
Alex Dale
985d0b5129 Merge "Cleaned up OEMCrypto security level getter." into sc-dev 2021-04-09 20:59:39 +00:00
Alex Dale
9903798373 Merge "Restructed reference root of trust (3/3 OEM Cert)" into sc-dev 2021-04-09 20:48:47 +00:00
Alex Dale
cae8f6a04e Merge "Restructed reference root of trust (2/3 DRM Cert)" into sc-dev 2021-04-09 20:48:27 +00:00
Alex Dale
ca335b2c11 Only one function for reporting usage support.
[ Merge of http://go/wvgerrit/121567 ]

Replaced the two usage support functions GetUsageSupportType() and
UsageInformationSupport() into a single function HasUsageInfoSupport().

Since moving to only supporting a single usage info system (usage table
header + usage entries), the different usage support functions have
lost their purpose.

One version of the method works on an open session and will use a
cached value of the property if previously set.  The other can be
called without opening the session (as used for query calls).

This is part of larger fix for the usage table initialization process.

Bug: 169195093
Test: CE CDM unit tests
Change-Id: I637c24dd143e995dbb0f8848850e3c71ff1018eb
2021-04-09 01:34:57 -07:00
Alex Dale
ccda4faf7b Cleaned up OEMCrypto security level getter.
[ Merge of http://go/wvgerrit/121566 ]

This clean up is part of a larger usage table initialization fix.

Bug: 169195093
Change-Id: I3ee818d1e5621f1f2fa64b189da4e66503d5e680
2021-04-09 01:34:56 -07:00
Rahul Frias
01baae563f Merge "Reword "blacklisted" to "forbidden"" into sc-dev am: 574dc28df5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14128160

Change-Id: I1287ba5e0990628471bc8c0066a5c440c8b2b035
2021-04-09 08:32:27 +00:00
Rahul Frias
574dc28df5 Merge "Reword "blacklisted" to "forbidden"" into sc-dev 2021-04-09 07:38:26 +00:00
Rahul Frias
4b12b9c998 Merge "Correction to addition of LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev am: 6af4d181d1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14117911

Change-Id: I13489d43e4385855a9ac01c247f8c4acae545e84
2021-04-09 02:59:37 +00:00
Rahul Frias
6af4d181d1 Merge "Correction to addition of LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev 2021-04-09 02:14:01 +00:00
Robert Shih
b9780710c7 Merge "libvtswidevine: replace appspot with uat" into sc-dev am: 1f8f0f1ccc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14099570

Change-Id: I2c105cf52d26429af17c583ad6c727773d959170
2021-04-08 22:10:24 +00:00
Rahul Frias
a40af9d1ef Reword "blacklisted" to "forbidden"
[ Merge of http://go/wvgerrit/113563 ]

Bug: 159847851
Test: WV unit/integration tests
Change-Id: I138b3e3291cb9e75841d092ca1bfa9a652ad9f9a
2021-04-08 11:54:06 -07:00
Rahul Frias
7c8d3e287e Correction to addition of LOCAL_LICENSE_KINDS to vendor/widevine
Remove incorrectly identified license files in http://go/ag/13998816

Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: mm
Change-Id: I676a63598c8a7df11a1cef6d8bebcc9940c961dc
2021-04-08 07:56:48 +00:00
Robert Shih
6a133bedcf libvtswidevine: replace appspot with uat
Bug: 179093540
Test: VtsHalDrmV1_2TargetTest
Change-Id: I1f343fb977f85ca4b7bf5fbc28fbfac23fbc3f05
2021-04-05 23:35:20 -07:00
Edwin Wong
c10f719067 Merge "Fix WVCryptoPlugin use after free vulnerability." into sc-dev am: 9d1ad7590a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13808139

Change-Id: I4c2aadb7b98c48abc349582d0bca0ddb41d05df7
2021-04-05 21:35:55 +00:00
Edwin Wong
9d1ad7590a Merge "Fix WVCryptoPlugin use after free vulnerability." into sc-dev 2021-04-05 20:47:48 +00:00
Alex Dale
1df93e5cae Merge "Restructed reference root of trust (1/3 Keybox)" into sc-dev am: 3e2c0f03e7
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13625375

Change-Id: Iebbb289b724e71fd1b7f8697120d3970dc591fca
2021-03-31 03:02:39 +00:00
Alex Dale
3e2c0f03e7 Merge "Restructed reference root of trust (1/3 Keybox)" into sc-dev 2021-03-31 02:22:07 +00:00
Bob Badour
000b7d9716 Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev am: ea0bd6030c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13998816

Change-Id: I0e802fea548cd498d3d0e2787caf4a49f0339687
2021-03-26 07:01:24 +00:00
Bob Badour
ea0bd6030c Merge "[LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine" into sc-dev 2021-03-26 06:45:39 +00:00
Alex Dale
bb709bfd27 Merge "Use new Base64 encode functions." into sc-dev am: 50757c84ec
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13972381

Change-Id: Iecee22009d4a0d56cf34133f83e44a5beab92747
2021-03-26 05:36:21 +00:00
Alex Dale
fb651b1974 Merge "Base64 encoding for string input." into sc-dev am: e189968a16
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13972380

Change-Id: I44f3bac15846b260feb3620641293660066bd004
2021-03-26 05:34:52 +00:00
Alex Dale
50757c84ec Merge "Use new Base64 encode functions." into sc-dev 2021-03-26 05:19:31 +00:00
Alex Dale
e189968a16 Merge "Base64 encoding for string input." into sc-dev 2021-03-26 05:18:43 +00:00
Bob Badour
376f47047c [LSC] Add LOCAL_LICENSE_KINDS to vendor/widevine
Added SPDX-license-identifier-Apache-2.0 legacy_by_exception_only to:
  Android.bp
  libwvdrmengine/Android.bp
  libwvdrmengine/vts/vendor_module/Android.bp

Added legacy_by_exception_only to:
  libwvdrmengine/cdm/Android.bp
  libwvdrmengine/cdm/core/src/Android.bp
  libwvdrmengine/cdm/core/test/Android.bp
  libwvdrmengine/cdm/metrics/src/Android.bp
  libwvdrmengine/cdm/test/integration-test.mk
  libwvdrmengine/cdm/test/unit-test.mk
  libwvdrmengine/level3/Android.bp
  libwvdrmengine/mediacrypto/Android.bp
  libwvdrmengine/mediacrypto/test/Android.mk
  libwvdrmengine/mediadrm/Android.bp
  libwvdrmengine/mediadrm/test/Android.mk
  libwvdrmengine/oemcrypto/odk/Android.bp
  libwvdrmengine/oemcrypto/odk/test/fuzzing/Android.bp
  libwvdrmengine/oemcrypto/odk/test/fuzzing/corpus_generator/Android.bp
  libwvdrmengine/oemcrypto/test/Android.mk
  libwvdrmengine/test/unit/Android.mk
  libwvdrmengine/tools/metrics_dump/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I41ef520b6e394a7708f453a706e6ef1a5f46c36a
2021-03-25 09:52:52 -07:00
Alex Dale
9f7e2c4413 Restructed reference root of trust (3/3 OEM Cert)
[ Merge of http://go/wvgerrit/116944 ]

This change is the last part of a three part change for restructing
the root of trust used by the reference implementation.

OEM Certificates are now managed by the root of trust of the crypto
engine.  Previously, OEM certs where handled separately on a session
by session basis.

Bug: 135283522
Test: oemcrypto_unittests ce_cdm_tests
Change-Id: I6cf1fa3fade28baad85b5fce57a8eab6f2ed17c1
2021-03-24 19:14:17 -07:00
Alex Dale
f6f5099604 Restructed reference root of trust (2/3 DRM Cert)
[ Merge of http://go/wvgerrit/115551 ]

This change is the second part of a three part change for restructing
the root of trust used by the reference implementation.

The use of RSA_shared_ptr has been replaced with the standard library
std::shared_ptr using the RsaPrivateKey wrapper class.  The
AuthenticationRoot class now uses this for the built-in DRM cert key.

RSA decryption and signature operations within the session context are
now performed the RsaPrivateKey class.  This has reduced the code size
and complexity within the reference and testbed, focusing their
implementation on key policy and less on mechanics.

Bug: 168544740
Bug: 135283522
Test: oemcrypto_unittests ce_cdm_tests
Change-Id: Ic743a529a9858f3182290d8bcf5e1633737b005b
2021-03-24 19:14:17 -07:00