Commit Graph

5380 Commits

Author SHA1 Message Date
TreeHugger Robot
853ab51cb3 Merge "Add extra RSA private keys to unit tests" into sc-dev 2021-06-30 21:32:01 +00:00
TreeHugger Robot
a17223048f Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9 am: f08ae7b4be
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: I492d4f8bf0b138daa716846a173dd53c4801ab26
2021-06-30 21:26:44 +00:00
TreeHugger Robot
f850cd9b84 Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9 am: 0daff1c13d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: I950208cfb53f345b3fbd9f102c435249f1cac759
2021-06-30 21:24:54 +00:00
TreeHugger Robot
6d1898f20f Merge "Sync oemcrypto reference code" into sc-dev 2021-06-30 21:20:58 +00:00
TreeHugger Robot
0daff1c13d Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: I57414ecc7b7e99f4ce2714a96d4b550798ce8071
2021-06-30 21:15:47 +00:00
TreeHugger Robot
f08ae7b4be Merge "Allow delayed error code in generic crypto" into sc-dev am: 99c4d463d9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15008617

Change-Id: Iec15443dd0894048448302c278dbe4afd531f50f
2021-06-30 21:14:49 +00:00
TreeHugger Robot
25e69c97fb Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: 6c4b357836
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I0ceedbafbe98513d5f9996bcc176e98c91f5eca0
2021-06-30 21:12:16 +00:00
TreeHugger Robot
3714a2c29a Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558 am: 88c6500ba2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I00d5f291bf1bb17d8f85b1e9164322d6f8476c7e
2021-06-30 21:11:45 +00:00
TreeHugger Robot
99c4d463d9 Merge "Allow delayed error code in generic crypto" into sc-dev 2021-06-30 21:06:17 +00:00
TreeHugger Robot
88c6500ba2 Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I7f3f64bec9748f6045cc33b67b9f8c7dbe0ded15
2021-06-30 21:02:07 +00:00
TreeHugger Robot
6c4b357836 Merge "Update OEMCrypto buffer offset tests" into sc-dev am: 41d7b74558
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/15055162

Change-Id: I440325ba59bfaf1f3e10efcb9a96f1a894394b85
2021-06-30 21:00:05 +00:00
TreeHugger Robot
41d7b74558 Merge "Update OEMCrypto buffer offset tests" into sc-dev 2021-06-30 20:49:57 +00:00
Rahul Frias
00adc49f32 Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 8648cc7b4a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: I838f481e9c9a3d8db16320f38e5c6ebc396163a3
2021-06-30 19:57:54 +00:00
Rahul Frias
c6f013efdc Merge "Address unit test failures" into sc-dev am: 5271d95ce4 am: 725f3d9e18
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: Id1078dce988bd92d664acf7473e90cb30eace40d
2021-06-30 19:57:42 +00:00
Rahul Frias
725f3d9e18 Merge "Address unit test failures" into sc-dev am: 5271d95ce4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: Ic5924bf04b90398d41863f95f7a2d43b732d60f2
2021-06-30 19:42:13 +00:00
Rahul Frias
8648cc7b4a Merge "Address unit test failures" into sc-dev am: 5271d95ce4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14940264

Change-Id: If13a949056c15529919f076c1e903fcdd15d0eb7
2021-06-30 19:41:08 +00:00
Rahul Frias
5271d95ce4 Merge "Address unit test failures" into sc-dev 2021-06-30 19:30:22 +00:00
Fred Gylys-Colwell
2d9bdfea58 Update OEMCrypto buffer offset tests
Merge from Widevine repo of http://go/wvgerrit/127524

Some unit tests used the response buffer size before the size had been
computed. This CL updates the tests.

Bug: 183440999
Bug: 184866351
Test: Ran unit tests on Prov 3.0 device.
Change-Id: I0b23dc7b0dafa9b9eab3cdbd7f29074898e4709b
2021-06-30 17:46:18 +00:00
Alex Dale
14bd15a08c PST and non PST can handle unlimited license durations.
[ Merge of http://go/wvgerrit/128183  ]

As was the case with WvCdmStreamingUsageReportTest.ReportTest, the
following tests were also updated to handle the case where "license
duration" is unlimited:
- WvCdmStreamingNoPstTest.UsageTest
- WvCdmStreamingPstTest.UsageTest
- WvCdmOfflineUsageReportTest.UsageTest

This is due to the new license duration model used for V16 licenses.

Bug: 163542905
Test: cdm_extended_duration_test
Change-Id: I24d3fc17fcf19129a19ed39a5c6c1ddd59ed073d
2021-06-30 10:41:07 -07:00
Rahul Frias
c882bd8230 Correct an error reported when a license is restored and then released
[ Merge of http://go/wvgerrit/128143 ]

Now reports LICENSE_STATE_ERROR rather than ERROR_DRM_GENERIC_PLUGIN
to make the cause of failure and suggested action more clear for app
developers. Also added an additional error log.

Bug: 190645000
Test: WV unit/integration tests
Change-Id: Ib23ca628c590316f90f497d8fdfbab24fd644d6f
2021-06-29 20:21:06 -07:00
Fred Gylys-Colwell
052016eb57 Add extra RSA private keys to unit tests
Merge from Widevine repo of http://go/wvgerrit/128047

There have been some failures with various RSA private keys. We add
them to the unit tests to make sure that OEMCrypto is able to load
these types of keys:
* Shorter: than normal private exponents. This seems to occur
  occasionally even with Euler totients. But it occurs more with
  Carmichael totients.
* 0-leading-byte: private exponents. This also occurs naturally for
  both Euler and Carmichael totients.
* Carmichael: vs Euler totients. I think we may already have tests for
  this. But just in case.

Bug: 190450051
Test: ran unit tests on bonito (and they passed!)
Change-Id: Id64ec738479eb8a0f77e253bace319cebe918d3f
2021-06-29 16:47:20 +00:00
Fred Gylys-Colwell
58c1ea1fa2 Cache security level
Merge from Widevine repo of http://go/wvgerrit/127743

There was some confusion about who owned the OEMCrypto security level
string in a multithreaded environment. This is solved by caching the
security level at initialization time.

Bug: 188706160
Test: ran unit tests on bonito
Change-Id: I93af3bb2e5a8bf190627ee568f752b5ea9543306
2021-06-29 05:42:41 +00:00
Alex Dale
a9e26bdc2b Updated integration test to handle unlimited license durations.
[ Merge of http://go/wvgerrit/128046 ]

Test case WvCdmStreamingUsageReportTest.WvCdmStreamingUsageReportTest
was failing comparing "license duration" values returned when querying
for key information for licenses with unlimited "rental duration".

This is due to the new license duration model used for V16 licenses.

From the Widevine MediaDrm doc for "LicenseDurationRemaining":

  For OEMCrypto v16+ (Android 11 and later), license duration is no
  longer being enforced. If rental duration is set to never expire,
  ”9223372036854775807” (LLONG_MAX) will be returned.

Similarly, the test has been updated for "playback duration" queries
of the same case.

Bug: 163542905
Test: cdm_extended_duration_test

Change-Id: I57e0e435631a151fac45c963d865de256a773644
2021-06-28 22:35:52 -07:00
Cong Lin
b305995fc1 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf -s ours am: 4ec9cb9772 -s ours
am skip reason: skipped by user conglin

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: Ide6a58773abf249b64b8b9d4384de46f2be121aa
2021-06-25 23:41:50 +00:00
Cong Lin
344693b292 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf am: 1860e3f0f0 -s ours
am skip reason: skipped by user conglin

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: Ib82bb4ab7c2b58416501b5ae8e2937da3fce8a15
2021-06-25 23:28:01 +00:00
Cong Lin
4ec9cb9772 [automerger skipped] Fix L3 clock loading issue am: 61218ec6cf -s ours
am skip reason: skipped by user conglin

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: Idb8807462ba9213a747368fa959b463eb0dd525d
2021-06-25 23:27:55 +00:00
Cong Lin
e98c9150df [RESTRICT AUTOMERGE] Fix L3 clock loading issue
This is a manual merge of ag/14930112 to address an auto merge conflict.

Changes in the obfuscated L3 library:

L3 loads clock info from an encrypted file during initialization. There
is a bug which calls the clock loading function before the decryption
key gets intialized in InitializeEngine(). Clock will be loaded with bad
decrypted data, which caused playback failure after system reboot.

The fix is to move clock loading after InitializeEngine() to ensure
decryption key is ready.

Bug: 191988567
Test: L3 unit tests;
Test: Manual playback tests on Netflix
      Download, play, reboot device, play again
Test: GTS tests https://android-build.googleplex.com/builds/tests/view?invocationId=I02800009363823424&testResultId=TR23225132004211909&redirect=http://sponge2/73efa8e8-951a-48bb-b2a9-0b09d5038ed3
Change-Id: I947775dc05eb000f1860a889510927861e1d169c
2021-06-25 18:46:21 +00:00
Cong Lin
1860e3f0f0 Fix L3 clock loading issue am: 61218ec6cf
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14930112

Change-Id: If1885fe6aa662aba4d5d1cc710536f031c64223c
2021-06-24 18:46:27 +00:00
Fred Gylys-Colwell
830a7acc48 Sync oemcrypto reference code
This is a merge from the Widevine repo of
http://go/wvgerrit/117311
Update backwards compatibility builds

http://go/wvgerrit/117423
Restrict maximum size of key id
To protect from out-of-memory found by fuzz testing.

http://go/wvgerrit/117683
Generation number should wrap

The master generation number should wrap around on overflow. This
means that we cannot use less than to check for a skew of 1.

http://go/wvgerrit/119232
Replace 0 with nullptr

Bug: 176234903
Bug: 184866351
Bug: 161243686
Test: ran unit tests (CL affects test code only)
Merged-In: Ie787bcf9c66a7605700c3dc29a8aa16406926ce3
Change-Id: I2b02a36a70a0920f31ffc00de102a23516d4b20e
2021-06-24 03:38:55 +00:00
Cong Lin
61218ec6cf Fix L3 clock loading issue
This is a merge of http://go/wvgerrit/126703
Only obfuscated libraries for Android are included in this CL.

L3 loads clock info from an encrypted file during initialization. There
is a bug which calls the clock loading function before the decryption
key gets intialized in InitializeEngine(). Clock will be loaded with bad
decrypted data, which caused playback failure after system reboot.

The fix is to move clock loading after InitializeEngine() to ensure
decryption key is ready.

Bug: 188873354
Bug: 188892717
Test: L3 unit tests;
Test: Manual playback tests on Netflix
      Download, play, reboot device, play again
Test: GTS tests https://android-build.googleplex.com/builds/tests/view?invocationId=I02800009363823424&testResultId=TR23225132004211909&redirect=http://sponge2/73efa8e8-951a-48bb-b2a9-0b09d5038ed3

Change-Id: Icf34aa3135fdcb77dea8104a90ce90f14e79e61c
2021-06-21 22:15:18 +00:00
Fred Gylys-Colwell
50a52710fa Allow delayed error code in generic crypto
Merge from Widevine repo of http://go/wvgerrit/127246

The unit tests WvGenericCryptoTest expected an error code to be
returned from SelectKey. But we allow an invalid key to be signaled
either at SelectKey or later when the decrypt operation occurs.

This CL just updates the tests.

Bug: 190745519
Test: ran tests on bonito
Change-Id: Ibacc92d6a6e708f2f104cb549b5845335f6c8cf5
2021-06-17 04:33:50 +00:00
Rahul Frias
7445e37359 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 44fdfb8047
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: Ic2468e0590d4a64540ae47d122df0dfb9537225b
2021-06-15 18:19:58 +00:00
Rahul Frias
1fdced8cc6 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1 am: 8e8cbfac39
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: Ie4bfc075edd992a4c56a6f9d7d9ce6db533fde62
2021-06-15 18:19:29 +00:00
Rahul Frias
8e8cbfac39 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I2fb9f742375cc7191aed1a7748126f36f4ff9b40
2021-06-15 18:07:47 +00:00
Rahul Frias
44fdfb8047 Update VersionNumberTest.VersionNumberChangeCanary am: 52d3c9f7c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14899053

Change-Id: I335ad1d8f528fe22ceff0100e922fe503f161e86
2021-06-15 18:06:46 +00:00
Rahul Frias
52d3c9f7c1 Update VersionNumberTest.VersionNumberChangeCanary
[ Merge of http://go/wvgerrit/126463 ]

The Version Number in the test is being updated to 12 to reflect
android OS version (Test only change)

Bug: 190467766
Test: WV request_license_test:
      requestVersionNumberTest.VersionNumberChangeCanary
Change-Id: Iad4bb3f178fb2dcb454027c1323e51fe34dfdfff
2021-06-15 03:01:55 -07:00
Rahul Frias
8e92fef410 Address unit test failures
[ Merge of http://go/wvgerrit/126744 ]

* EngineMetrics previous_oemcrypto_initialization_failure is set only
  on a previous failure. Removing it from the list of expectations
  as we cannot be certain that it will or will not be set unless we
  know the previous state of the device.

* Corrected client_capabililties expectations in
  CdmLicenseTest.PrepareKeyRequestValidation

* Correct error expected in
  - WVDrmPluginTest.RejectsAtscProvisioningRequests
  - WVDrmPluginTest.RejectsAtscUnprovisionDeviceRequests

* Correct expectations
  - CdmSessionTest.InitWithBuiltInCertificate,
  - CdmSessionTest.InitWithCertificate
  - CdmSessionTest.ReInitFail,
  - CdmSessionTest.InitFailCryptoError

Bug: 181693982
Test: WV unit/integration tests
Change-Id: I2f1e1c38604d768e0532b30d8551c77ea45e63f4
2021-06-14 08:04:40 +00:00
TreeHugger Robot
e4cff5213d [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 21b722330a -s ours am: eced697d90 am: 876b9b4229 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: Ic427b9eba829457494b4b59367c303f50c1544c0
2021-06-10 00:18:31 +00:00
Cong Lin
a35b8336ae [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: f11c581b5b -s ours am: 2ed99512eb am: d71c11a0d1 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I790ff3094e5ae436bbeb90ec59952f35fb0e0d07
2021-06-10 00:18:31 +00:00
TreeHugger Robot
65237519f6 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 816a7cd53b -s ours am: 6665272f76 am: 126d17c4d8 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I56dbd92899a47725414a950230cde6c06ce5e402
2021-06-10 00:18:25 +00:00
Cong Lin
1ef132d61f [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: 708c24e406 -s ours am: a01dd26e32 am: cfe74e1a40 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I156c3b202707666028db634d30f6921673d7739e
2021-06-10 00:18:24 +00:00
TreeHugger Robot
1510c270f9 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 21b722330a -s ours am: eced697d90 -s ours am: a411834f7e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: Ib6db3a851fea32d427a2e0d4a501e7f33d7e1653
2021-06-10 00:17:46 +00:00
Cong Lin
56afff6183 [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: f11c581b5b -s ours am: 2ed99512eb -s ours am: acdcdf386f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: Icde677085e3351e1c3f598004566de2083e3559a
2021-06-10 00:17:45 +00:00
TreeHugger Robot
6fd1930049 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 816a7cd53b -s ours am: 6665272f76 -s ours am: 4b41e03258
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I562292629a5f54fa671f1d6248bd4fcc0bd28f6a
2021-06-10 00:17:35 +00:00
Cong Lin
63667178b9 [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: 708c24e406 -s ours am: a01dd26e32 -s ours am: d6613faf71
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I951e8459156308e17dca15d28874d2afd544f81f
2021-06-10 00:17:34 +00:00
TreeHugger Robot
a411834f7e [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 21b722330a -s ours am: eced697d90 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I71986a273396c56a4a169c619fe77f0169df8652
2021-06-10 00:07:10 +00:00
Cong Lin
acdcdf386f [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: f11c581b5b -s ours am: 2ed99512eb -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I16b5358b8083bc70db15192ba6ff4f0b202715b2
2021-06-10 00:07:09 +00:00
TreeHugger Robot
4b41e03258 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 816a7cd53b -s ours am: 6665272f76 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I859665a74799b70e04c87db2cc0193a4806d0116
2021-06-10 00:06:52 +00:00
Cong Lin
d6613faf71 [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: f10acda463 am: ae49fad32b -s ours am: 6c16096c18 am: 708c24e406 -s ours am: a01dd26e32 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I9a76bd8cdb6a245fef15504020d08e2e8300a062
2021-06-10 00:06:51 +00:00
TreeHugger Robot
876b9b4229 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into qt-dev am: 35b1be117e am: 1ea8bee2a1 -s ours am: 49462e3f0d am: 21b722330a -s ours am: eced697d90
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629081

Change-Id: I05f5f8335cf052d6125bbdfec9206cf594d013f8
2021-06-10 00:05:55 +00:00