Commit Graph

3324 Commits

Author SHA1 Message Date
Rahul Frias
80f5e283ad Merge "Key Status should reflect key container security level" into qt-dev 2019-05-13 16:25:24 +00:00
Rahul Frias
4d917e3ee8 Ref count Timer implementation
[ Merge of http://go/wvgerrit/78763 ]

The android timer instance is held by a regular pointer rather
than reference counted as all classes that derive from RefBase
should be. This could result in a double deallocation, if the
timer is ever passed to a strong pointer.

Bug: 79364026
Test: WV unit/integration tests. GtsMediaTestCases. Play movies
      playback tests.

Change-Id: I01f622bc045e1012f2240b3775a6d121f9415463
2019-05-12 02:15:12 -07:00
Fred Gylys-Colwell
878e39c740 Report OEMCrypto Build Information in License Request am: 5ee5d00514
am: 23c3bc8ebc

Change-Id: I1006614f9eadc97e9287816723ec179851bf2e67
2019-05-10 06:30:12 -07:00
Fred Gylys-Colwell
23c3bc8ebc Report OEMCrypto Build Information in License Request
am: 5ee5d00514

Change-Id: I55c590b056d62d2b86002e0e880b42cf379da160
2019-05-10 01:49:56 -07:00
Fred Gylys-Colwell
1b766afb51 Report OEMCrypto Build Information in License Request
am: 5ee5d00514

Change-Id: If67feb3c826149e82f48d6e43fd82682c755f8fc
2019-05-10 01:27:07 -07:00
Rahul Frias
7d78609548 Key Status should reflect key container security level
[ Merge of http://go/wvgerrit/77506 ]

Callers of MediaDrm can register to be notified when key status
changes and if they are usable for decryption. A number of factors
are evaluated when making this determination. Key container security
level will now be included in the evaluation.

Bug: 78652608
Test: WV unit/integration test, GtsMediaDrmTest, Play movies playback
      testing.

Change-Id: I20243e5cb160f7957e3239e8d05f715ff0ee6dd6
2019-05-09 22:16:23 -07:00
Fred Gylys-Colwell
5ee5d00514 Report OEMCrypto Build Information in License Request
Merge from Widevine repo of http://go/wvgerrit/78623

This updates the license request client identification to include
OEMCrypto build information.

Bug: 129070445
Test: ExoPlayer on crosshatch with mod mock
Change-Id: I0dbce0cca4e9810e14f60561e4e434f1dbcadfb6
2019-05-09 13:24:04 -07:00
Adam Stone
c653a9dadc Merge "Correctly sets provisioning state for test." into qt-dev am: c71fb10b95
am: c47c1d7575

Change-Id: Ibad16685c1b1c2e25e73cbe3d4fb7430fc1c31df
2019-05-08 18:32:29 -07:00
Adam Stone
0b47db66a2 Merge "Correctly sets provisioning state for test." into qt-dev
am: c71fb10b95

Change-Id: I659abb94493f2f6f5a916a5a9cfb6dd8f00994c2
2019-05-08 17:37:19 -07:00
Adam Stone
c47c1d7575 Merge "Correctly sets provisioning state for test." into qt-dev
am: c71fb10b95

Change-Id: I2f96c088ae48f3d5fe6a1a9eac92d12db86b1271
2019-05-08 17:32:51 -07:00
Adam Stone
c71fb10b95 Merge "Correctly sets provisioning state for test." into qt-dev 2019-05-08 23:29:17 +00:00
Adam Stone
3a27d2d649 Correctly sets provisioning state for test.
[ Merge from http://go/wvgerrit/78383 ]

Bug: http://b/121049662

Test: Re-ran the unit test.
Change-Id: I62c00f425c93b588e123ddd8b1093177f2e9b241
2019-05-08 14:13:28 -07:00
John Bruce
f4f03565e1 Merge "Disallow Blank App Package Name on Q and Later" into qt-dev am: 8a0ba4d0fa
am: a10f45c497

Change-Id: If35f32eb963b631b7b44626d7dcebea9a32539bf
2019-05-08 13:10:24 -07:00
John Bruce
a10f45c497 Merge "Disallow Blank App Package Name on Q and Later" into qt-dev
am: 8a0ba4d0fa

Change-Id: I78e66451856fe930820fd658e9210e08d6e019e6
2019-05-08 12:33:36 -07:00
John Bruce
0fa4cc664d Merge "Disallow Blank App Package Name on Q and Later" into qt-dev
am: 8a0ba4d0fa

Change-Id: I9a0bbd14b06d18196cc6e0041a56661d585107d2
2019-05-08 12:32:41 -07:00
John Bruce
8a0ba4d0fa Merge "Disallow Blank App Package Name on Q and Later" into qt-dev 2019-05-08 18:58:40 +00:00
Fred Gylys-Colwell
cb12eacfc4 Merge "Update unit tests for v15.2" into qt-dev am: 2f79fe2773
am: d0b62c1b8d

Change-Id: I537e6e9c0161084cc0b12a32779fa52c275421cd
2019-05-08 11:38:46 -07:00
Jeff Tinker
fabf6f5311 Merge "hidl plugin: add sendKeysChange_1_2" into qt-dev am: 83068b97c8
am: 3caf992795

Change-Id: Ie49ca006a87f6071618c407b52a7d52992f0060c
2019-05-08 11:20:47 -07:00
Fred Gylys-Colwell
99a6c8a10d Merge "Update unit tests for v15.2" into qt-dev
am: 2f79fe2773

Change-Id: Ia0a98f47f7d7d55b63df8c48a42de038f8cfdbd3
2019-05-08 11:07:50 -07:00
Fred Gylys-Colwell
d0b62c1b8d Merge "Update unit tests for v15.2" into qt-dev
am: 2f79fe2773

Change-Id: Ibbb1647cf9d51bad0dc1c0c4ebb37fafd1108030
2019-05-08 11:07:48 -07:00
Jeff Tinker
85590f243e Merge "hidl plugin: add sendKeysChange_1_2" into qt-dev
am: 83068b97c8

Change-Id: I3b1ce56a4960b64b9b4ac51a0e8479240cd1ec4a
2019-05-08 10:49:52 -07:00
Jeff Tinker
3caf992795 Merge "hidl plugin: add sendKeysChange_1_2" into qt-dev
am: 83068b97c8

Change-Id: I32757af27b94161ec1d22ffe9dcd0a1f203fcde2
2019-05-08 10:49:43 -07:00
Fred Gylys-Colwell
2f79fe2773 Merge "Update unit tests for v15.2" into qt-dev 2019-05-08 17:36:36 +00:00
Jeff Tinker
83068b97c8 Merge "hidl plugin: add sendKeysChange_1_2" into qt-dev 2019-05-08 17:17:43 +00:00
Fred Gylys-Colwell
a35722f358 Test MAC signature after license reload am: 407d39699b
am: a3d5e7be6a

Change-Id: Ia110288e7d06dcbe7aaebe6c54e42a64402f1a4f
2019-05-08 00:53:00 -07:00
Fred Gylys-Colwell
a3d5e7be6a Test MAC signature after license reload
am: 407d39699b

Change-Id: I1ba07fb729841ccb009757022bc02228a93d75b8
2019-05-08 00:09:35 -07:00
Fred Gylys-Colwell
e36786cca8 Test MAC signature after license reload
am: 407d39699b

Change-Id: I09c079b4490a1ffc30311620aafa72ff80e0e8d6
2019-05-08 00:05:05 -07:00
Rahul Frias
da25bce428 Single PSSH entitlement handling
[ Merge of http://go/wvgerrit/78425 ]

This CL refactors code, corrects comments and adds additional
integration tests.

Bug: 128462397
Test: WV unit/integration tests, GPlay playback tests and GtsMediaDrmTests
Change-Id: I679960d44c45cf4ff13c27eb960e66ec63f491b5
2019-05-07 23:07:05 -07:00
Fred Gylys-Colwell
96431e9c2d Update unit tests for v15.2
Merge from Widevine repo of http://go/wvgerrit/77609

For v15.2 we require that nonces not collide across sessions and there are
restrictions placed on the mac key's IV in LoadKeys.

Test: ran unit tests on reference code

Bug: 131325434
Bug: 131326334

Change-Id: I1bb01c30d8c15d66d762c28b57d7700c44daa835
2019-05-07 22:50:06 -07:00
John W. Bruce
edccc13510 Disallow Blank App Package Name on Q and Later
(This is a merge of http://go/wvgerrit/78105)

The Widevine Android CDM should not allow itself to be instantiated
without an app package name, as this breaks SPOID protection.
Unfortunately, pathways exist prior to Android Q that allow this to
happen, and we cannot break these devices by changing the behavior now.
As such, we will only refuse to allow instantiation without an app
package name on devices first launched with Q and later.

This change also migrates the WVDrmFactory and its tests away from
explicitly naming friend classes for individual test, in favor of the
now-recommended "test peer" pattern.

Bug: 65680731
Test: libwvdrmengine_hidl_test
Test: CTS NativeMediaDrmClearkeyTest
Change-Id: Icccd1d8b9972ef6ad7e5b0dbf2d37ec987656385
2019-05-08 01:08:11 +00:00
Fred Gylys-Colwell
407d39699b Test MAC signature after license reload
Merge from Widevine repo of http://go/wvgerrit/78143

This verifies that the correct mac keys are used to sign a message when
generating a usage report or secure stop.

Test: unit tests on ref code and taimen
Bug: 111261264
Change-Id: I7d56a6ff0aae68a5554f7ce84d467697d1f9997b
2019-05-07 19:09:53 +00:00
Fred Gylys-Colwell
29dac7ac57 Merge "Test loading second call to LoadKeys fails" into qt-dev am: a1e94e2eb1
am: 4e75bcfce8

Change-Id: I97d50a3137867235c1fcc20e449ce54460dbbaf8
2019-05-06 20:49:44 -07:00
Robert Shih
a1d9094721 hidl plugin: add sendKeysChange_1_2
Bug: 116738851
Test: vts
Change-Id: Ifdf537ff2f4922741eba5abdd37dd2dd5e37e161
2019-05-06 20:23:06 -07:00
Fred Gylys-Colwell
4e75bcfce8 Merge "Test loading second call to LoadKeys fails" into qt-dev
am: a1e94e2eb1

Change-Id: I5481c3a963ee5459f4c528c42a6c3c8110b9a822
2019-05-06 19:34:07 -07:00
Fred Gylys-Colwell
666ba585c4 Merge "Test loading second call to LoadKeys fails" into qt-dev
am: a1e94e2eb1

Change-Id: I8aac717af5b59d0bed3704536a53f41d6d2a082d
2019-05-06 19:34:00 -07:00
TreeHugger Robot
a1e94e2eb1 Merge "Test loading second call to LoadKeys fails" into qt-dev 2019-05-07 02:18:17 +00:00
Fred Gylys-Colwell
c876186cf8 Merge "Update docs for OEMCrypto v15.2" into qt-dev
am: 3b9b77c7c7

Change-Id: I2a26e92fca9065676a28ee7d80fb50f5ea521991
2019-05-06 13:24:36 -07:00
Fred Gylys-Colwell
b10697a95c Merge "Update docs for OEMCrypto v15.2" into qt-dev am: 3b9b77c7c7
am: 2abed930c7

Change-Id: Ia49b0d7b8d3d7773bf9a9a6aa4dfeb3a1569b5d2
2019-05-06 12:56:59 -07:00
Fred Gylys-Colwell
2abed930c7 Merge "Update docs for OEMCrypto v15.2" into qt-dev
am: 3b9b77c7c7

Change-Id: I1b00f066e5e40cf06964fca9b24e33981877298d
2019-05-06 12:28:27 -07:00
Fred Gylys-Colwell
3b9b77c7c7 Merge "Update docs for OEMCrypto v15.2" into qt-dev 2019-05-06 19:00:43 +00:00
Fred Gylys-Colwell
d4801531e4 Fix OEMCrypto UsageTableTest.GenerateReportWrongPST
Merge from Widevine repo of http://go/wvgerrit/78063

This test incorrectly asserted a buffer size.

Bug: 131864150
Test: Unit tests ran on taimen.
Change-Id: If53fdd4cce9d6b3dfa85f50a3dbc08c99bceebfb
2019-05-06 11:41:21 -07:00
Fred Gylys-Colwell
c7a4c0c7db Test loading second call to LoadKeys fails
Merge from Widevine repo of http://go/wvgerrit/78144

This CL verifies that LoadKeys cannot be called twice a second time in
an OEMCrypto session.

Bug: 131359743
Test: unit tests on refernce code and taimen
Change-Id: I3da1c7639ed163799ee5996fd9f7f8b427c7ed30
2019-05-06 09:42:18 -07:00
Fred Gylys-Colwell
db534a6a05 Update docs for OEMCrypto v15.2
Merge from Widevine repo of http://go/wvgerrit/77604

Test: ran unit tests

Bug: 131326334 Nonce collision should be avoided in open sessions
Bug: 131325434 mac key iv should not be 16 bytes before encrypted mac key
Bug: 129368634 HDCP 2.3 and 2.2 are not distinguishable
Bug: 127423611 Question about OEMCrypto V15 API
Bug: 124312571 Picture-in-Picture -- is it really needed for Android TV?
Bug: 131175454 Extend Provisioning 3.0 Schedule
Bug: 131359743 Do not allow multiple LoadKeys in a session

Change-Id: I8db4ec921978ea918adb17420db86de69e806120
2019-05-05 21:42:35 -07:00
Rahul Frias
4bd6f2bed0 Merge "Handle key rotation" into qt-dev am: 862cb96e77
am: 5b8fc4a05b

Change-Id: I0bbf6b0e12cde87c768d1b6408b7ef05801d7a3d
2019-05-03 23:00:50 -07:00
Rahul Frias
544a04b334 Merge "Handle key rotation" into qt-dev
am: 862cb96e77

Change-Id: I2b78ee93cb9c06eb666beddb7222249ece1dfb49
2019-05-03 22:01:36 -07:00
Rahul Frias
5b8fc4a05b Merge "Handle key rotation" into qt-dev
am: 862cb96e77

Change-Id: I8d3f1a43d85bb27798915c9b5bbd62fe87abd5f9
2019-05-03 18:15:39 -07:00
TreeHugger Robot
862cb96e77 Merge "Handle key rotation" into qt-dev 2019-05-03 20:50:17 +00:00
Srujan Gaddam
cee0887d20 Call SelectKey regardless of entitled key mapping am: fce75c295b
am: 09366bb6ce

Change-Id: I9b73230d68eecf47dd5caab94100c5f9144e75da
2019-04-30 20:04:44 -07:00
Srujan Gaddam
09366bb6ce Call SelectKey regardless of entitled key mapping
am: fce75c295b

Change-Id: Ibe1b1eefd267e875c16850c7910f26c3e413347a
2019-04-30 18:53:34 -07:00
Srujan Gaddam
fce75c295b Call SelectKey regardless of entitled key mapping
Bug: b/129426820
Test: CE CDM, Android unit/integration, Linux, ExoPlayer key rotation
playback with modmock and L3
Merge of http://go/wvgerrit/77608

http://go/ag/6543431 modified the entitlement key session to select the
entitled content key if it had just been loaded in so that there's a
valid current content key loaded in OEMCrypto. However, this did not
account for the case where you have two entitlement to entitled key
pairs. If OEMCrypto does not select the key when you switch from the
first pair to the second pair back to the first pair, OEMCrypto will
still be using the key from the second pair during decrypt. This CL
changes it so we SelectKey each time to make sure that we update the
current content key.

Change-Id: I764ec13deb87e14188707b811a44eff132eeb5a1
2019-04-30 10:51:33 -07:00