Commit Graph

5178 Commits

Author SHA1 Message Date
Cong Lin
7dd96a13a7 [automerger skipped] [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: e4cfcab140 -s ours
am skip reason: skipped by user conglin

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

Change-Id: I5b8d1c9e69b06cf15cba25c11cbc066a9aa8b382
2021-06-09 21:53:40 +00:00
TreeHugger Robot
616e2f171e [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into sc-dev am: 1f1f35f56a -s ours
am skip reason: subject contains skip directive

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

Change-Id: If3ac1bd341fb305880bd993537263222ae1d8e9e
2021-06-09 21:42:27 +00:00
TreeHugger Robot
13a64ea3cc [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into rvc-qpr-dev am: c3ba913a07 -s ours am: 8dcf2887f1 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I60809018483ef09a42d7287507e47ca7b8f05284
2021-06-09 21:42:24 +00:00
TreeHugger Robot
7bcf74adc9 Merge "L3 Load RSA private key from two parts [sc-dev]" into sc-v2-dev 2021-06-09 21:42:14 +00:00
TreeHugger Robot
c276a94eac Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into rvc-dev am: d8851ceda3
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629074

Change-Id: I32986d4d5aeef67ef43e99f34250c8b2bee16d63
2021-06-09 21:36:50 +00:00
Cong Lin
23fa208349 [RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate am: e4cfcab140
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14629074

Change-Id: Id73aea48ba5962021cbf6d200a55936b0ce824f7
2021-06-09 21:36:48 +00:00
TreeHugger Robot
1f1f35f56a Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into sc-dev 2021-06-09 21:33:04 +00:00
TreeHugger Robot
8dcf2887f1 [automerger skipped] Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into rvc-qpr-dev am: c3ba913a07 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ibb8f8d2daa1f37e3cd2c631176441b9c7469942e
2021-06-09 21:23:06 +00:00
TreeHugger Robot
d8851ceda3 Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into rvc-dev 2021-06-09 21:19:20 +00:00
TreeHugger Robot
c3ba913a07 Merge "[RESTRICT AUTOMERGE] L3 Load RSA key from two parts and re-generate build" into rvc-qpr-dev 2021-06-09 21:09:40 +00:00
TreeHugger Robot
44e24b148f Merge "Use drm@1.4 vintf fragments for drm@1.3" into sc-dev am: b791286119
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14842900

Change-Id: I0fce9d92e4babe3756fd044f4b7e1f6f41a4eb66
2021-06-09 00:59:17 +00:00
TreeHugger Robot
b791286119 Merge "Use drm@1.4 vintf fragments for drm@1.3" into sc-dev 2021-06-09 00:40:00 +00:00
Rahul Frias
612f8bc0a9 Merge "Disallow restoring an offline license multiple times" into sc-dev am: d1d0fa431a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14731758

Change-Id: Iabf693abbe60ec39b7b0a67939961d507b45a9a6
2021-06-09 00:30:49 +00:00
Rahul Frias
d1d0fa431a Merge "Disallow restoring an offline license multiple times" into sc-dev 2021-06-08 23:57:23 +00:00
TreeHugger Robot
394d6073e2 [automerger skipped] Merge "[DO NOT MERGE] Revert "Restructed reference root of trust (1/3 Keybox)"" into sc-dev am: 25de0c7c32 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I30465c23aa0f5658f6d36d548cdc8c6fd2db75ca
2021-06-04 23:58:59 +00:00
TreeHugger Robot
25de0c7c32 Merge "[DO NOT MERGE] Revert "Restructed reference root of trust (1/3 Keybox)"" into sc-dev 2021-06-04 23:40:05 +00:00
Robert Shih
a81ace2ea4 Use drm@1.4 vintf fragments for drm@1.3
This avoids widevine crashloops in case partners updated
vendor/widevine without updating device makefiles.

[ Merge of http://go/wvgerrit/126103 ]

Bug: 178110290
Bug: 186502089
Test: GtsMediaTestCases
Change-Id: Iafd9e62beadf5a099a76ab6a987ffd9598e5ef25
2021-06-04 19:45:16 +00:00
Rahul Frias
999fbeb666 Disallow restoring an offline license multiple times
[ Merge of http://go/wvgerrit/126063 ]

As a side-effect of fixing b/161865160 CDM checks to flag reloading
of an offline license were removed. This left it to the OEMCrypto
which varied by device implementation. Checks are being reintroduced
to the CDM and will help MediaDrm return the expected error
ERROR_LICENSE_STATE.

In addition restoring an offline liense to a session where a license
is already loaded will be rejected.

Bug: 184608310
Bug: 182208685
Test: WV unit/integration tests
      MediaDrmTest.testMultipleLoadKeys
Change-Id: Id8ee069d22819f7823aa6af11a41f35f0a04ce0a
2021-06-04 03:20:15 -07:00
Edwin Wong
4dd2ec9fb6 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: b2ebc85c7e -s ours am: ffbc1dfdd2 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I354becc251fa45faf418e2ebf5bc57dad472c60d
2021-06-03 07:21:22 +00:00
Edwin Wong
d18f460338 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 6f307fb311 -s ours am: 255f525c31 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I4f6e236e974c263048f216eedb5c711b144a4fdf
2021-06-03 07:20:53 +00:00
Edwin Wong
f5f1dfa775 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: 38654a3fd7 -s ours am: 17c2aaabb4 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I42d85251c562139c94be6ee0bea684895ba7c294
2021-06-03 07:18:52 +00:00
Edwin Wong
219cf6290c [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 1a04368a9e -s ours am: 81ecbed63a -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ib289cd9f8012d2906eb85652d55a785f09594fde
2021-06-03 07:18:20 +00:00
Edwin Wong
ffbc1dfdd2 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: b2ebc85c7e -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ic0fefdfafdfa0024f12d307f4d3736ade2b570a7
2021-06-02 23:18:47 +00:00
Edwin Wong
255f525c31 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 6f307fb311 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Id300ffcd7ed8b9f37d4758ac802ae3427111c0b5
2021-06-02 23:18:39 +00:00
Edwin Wong
17c2aaabb4 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43 am: 38654a3fd7 -s ours
am skip reason: subject contains skip directive

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

Change-Id: I6782e4de8ddc7bf62d38790f7f9d24b64b02f63d
2021-06-02 23:18:00 +00:00
Edwin Wong
81ecbed63a [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5 am: 1a04368a9e -s ours
am skip reason: subject contains skip directive

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

Change-Id: I63f905b093c4f151a026adc123ae66120483cb17
2021-06-02 23:17:46 +00:00
Edwin Wong
b2ebc85c7e [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: I7ae3b31b31288419a45b585ae5dae196d80bcdfb
2021-06-02 23:04:49 +00:00
Edwin Wong
6f307fb311 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: Iac6fa4a12541c9e95c733186e4607d7c52973e1d
2021-06-02 23:04:37 +00:00
Edwin Wong
38654a3fd7 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours am: a9fbf4de43
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: I2c246da19bedc2440e777c8edddf2e5619d8fa74
2021-06-02 23:03:37 +00:00
Edwin Wong
1a04368a9e [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours am: e75f7c63b5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: Ida8db64dddf24fcfcc2ee83d035e6bd79ec240ea
2021-06-02 23:03:23 +00:00
Edwin Wong
a9fbf4de43 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369 am: 85bbf55e91 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Id5014667cb634351d19e8b4012d2db0c7f32d365
2021-06-02 22:47:40 +00:00
Edwin Wong
e75f7c63b5 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158 am: d74cf5a35f -s ours
am skip reason: subject contains skip directive

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

Change-Id: I983a6944369ff77e27c8d64fba5937dffc3554de
2021-06-02 22:47:30 +00:00
Edwin Wong
85bbf55e91 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours am: 62e23e0369
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13424496

Change-Id: Ib88e34bacd5afb0ead74ba2a6526083366ea2822
2021-06-02 22:25:40 +00:00
Edwin Wong
d74cf5a35f [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours am: 787f7e2158
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/13412308

Change-Id: I84bf657fa0999fda46a89c02260ce31323164b9e
2021-06-02 22:25:26 +00:00
Edwin Wong
62e23e0369 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: 0253cb580e -s ours am: ad1d8778e4 -s ours
am skip reason: subject contains skip directive

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

Change-Id: If6f783b3af331eedd1b9f1a1a887990978c0c52e
2021-06-02 22:04:34 +00:00
Edwin Wong
787f7e2158 [automerger skipped] [RESTRICT AUTOMERGE] Fix potential decrypt srcPtr overflow. am: a5c14b7afb -s ours
am skip reason: subject contains skip directive

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

Change-Id: I3fa1dadd8d1294eff10ba86b9a7adf49e08e3bca
2021-06-02 22:04:24 +00:00
Alex Dale
c0caabd0d5 [automerger skipped] [DO NOT MERGE] Revert "Restructed reference root of trust (2/3 DRM Cert)" am: 06b637ed95 -s ours
am skip reason: subject contains skip directive

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

Change-Id: Ib974b26b26b66590c6887a7760627e8b2b001840
2021-06-02 20:17:09 +00:00
Alex Dale
ad0d66c7e6 [DO NOT MERGE] Revert "Restructed reference root of trust (1/3 Keybox)"
This reverts commit e4ee4eb404.

Reason for revert: Feature missed deadline

Bug: 135283522
Change-Id: I4ee2caac2dadfcc3e145b9c9b977d216d4edd929
2021-06-02 20:00:16 +00:00
Alex Dale
06b637ed95 [DO NOT MERGE] Revert "Restructed reference root of trust (2/3 DRM Cert)"
This reverts commit f6f5099604.

Reason for revert: Feature missed deadline

Bug: 135283522
Change-Id: Ic86930ee3444c5a6aa1d78ae3a12a9030c29ef92
2021-06-02 17:41:53 +00:00
Alex Dale
7291bb5fc5 Merge "New usage entries are moved lower after creation." into sc-dev am: 9c47be6aa8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14354899

Change-Id: I787b73bebb3be6efc37293540980878611e524f0
2021-05-26 22:46:26 +00:00
Alex Dale
9c47be6aa8 Merge "New usage entries are moved lower after creation." into sc-dev 2021-05-26 22:31:03 +00:00
TreeHugger Robot
c03abd803e Merge "Sync L3 headers in sc-dev" into sc-dev am: 5af95f48ed
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14669194

Change-Id: I980597582e858da14aee587535fd310fbcb545bb
2021-05-26 00:23:01 +00:00
TreeHugger Robot
5af95f48ed Merge "Sync L3 headers in sc-dev" into sc-dev 2021-05-26 00:02:54 +00:00
Cong Lin
8cb1e102db L3 Load RSA private key from two parts [sc-dev]
This is a cherry-pick of
https://widevine-internal-review.googlesource.com/c/cdm/+/121763

Original commit message from master branch:
This is a security improvement against an L3 exploit b/182584472.
The change is to store RSA private key in two parts instead of one,
and load it separately when the key is needed. This will make it
more difficult to find the entire RSA key.

OEM private key is split into two parts and stored in Haystack in CL:
cl/367515385. Loading RSA key is to be changed to loading part one first
and then part two. Bytes in each part are parsed in sequence.

Only OEM private key has two non-empty parts. For DRM private key the
first part contains the entire key, and second part is empty. For more
details, please find the comments in the head of rsa_load.cpp.

This change slightly increased the size of LoadRSAKey from 6KB to 7KB
due to the macros introduced. It's unlikely to have overall performance
impact.

Bug: 183416973
Bug: 182584472
Test: jenkins/run_level3_static_tests
Test: GTS test
https: //android-build.googleplex.com/builds/forrest/run/L93800000881790143
Change-Id: I34b3b795e6ac2ce9b41e915c1adf8fcdc489d94a
2021-05-25 22:33:26 +00:00
Fred Gylys-Colwell
fd451af75b Add fudge to duration tests am: 20833734e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14664668

Change-Id: I16f3d23c16e35dd01b6ff669b911f741b1397c68
2021-05-25 22:23:58 +00:00
Fred Gylys-Colwell
c6cfc6a296 Merge "LUCI: Add build fuzz tests script to presubmits" into sc-dev am: eaa1e6d4a0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14486069

Change-Id: I9f470bb6e857fe9718a7989a33ba597401bbc8ec
2021-05-25 20:38:06 +00:00
Fred Gylys-Colwell
20833734e1 Add fudge to duration tests
Merge from Widevine repo of http://go/wvgerrit/125046

Add some extra fudge to the termination time. This assumes that flaky
tests were caused by roundoff error.

Bug: 175741647
Change-Id: I9bcc86f9b9540e5985df647dd1b5c5d439556e2b
2021-05-25 20:26:43 +00:00
Fred Gylys-Colwell
eaa1e6d4a0 Merge "LUCI: Add build fuzz tests script to presubmits" into sc-dev 2021-05-25 20:19:49 +00:00
Alex Dale
51ec04bd43 Check for open session when initializing usage table. am: 023b06eded
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/14296026

Change-Id: Id8abc3e56f0495edad72fffa20579887e1ae2045
2021-05-24 21:32:39 +00:00
Alex Dale
884550333d New usage entries are moved lower after creation.
[ Merge of http://go/wvgerrit/124004 ]

When the CDM creates a new usage entry for an offline or streaming
license, the new entry is immediately moved to the lowest available
entry index that has been marked as vacant (kStorageTypeUnknown).

When a license is released, its meta data that is managed by the CDM
is cleared; however, the usage entry's index is marked vacant, but it
is not released.  This creates wasted entry space in the usage table.
Unfortunately, defragging the table is computationally expensive and
may not be able to actually free up much space depending on when it
is performed.

For a typical user, this will likely not be an issue as the table
can get quite large compared to the number of licenses an app uses
and the table is partially cleaned on each boot.

GTS tests, however, have reached a point where they fill the usage
table before all tests are complete.  This is causing many unexpected
failures for devices.  Most of these tests release their license, but
the CDM never reaches a state where it can clean up the table.

By moving newly created entries to the lowest available index directly
after creating the entries, the table never needs to grow unless all
entries are in use.  Clean up is now almost never required.

Bug: 180639135
Bug: 180638990
Bug: 180638530
Test: MediaDrmTest#testWidevineApi28
Change-Id: I1a68d90d51384094298b27037778747ce7435374
2021-05-24 12:51:44 -07:00