Commit Graph

4166 Commits

Author SHA1 Message Date
Rahul Frias
a93347ea6d Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138 am: 652258d70e am: abad87b79f
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: I0bc4b561b9edab32a89fe59d71f9b97bc7a9dbf8
2020-06-22 18:35:20 +00:00
Rahul Frias
1b6f50a467 Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138 am: dffadd204c am: 61f64a00c6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: I1830edae406e16b0c2c47290e660ae5cb3537f04
2020-06-22 18:34:59 +00:00
Rahul Frias
999dabbc6e Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138 am: 652258d70e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: I6d182f166720bf8a925f6182d03f8ca1150f7ec2
2020-06-22 18:21:54 +00:00
Rahul Frias
abad87b79f Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138 am: 652258d70e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: I11dff2a7fc64d467cc7e31206b2b3c521c397006
2020-06-22 18:21:38 +00:00
Rahul Frias
61f64a00c6 Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138 am: dffadd204c
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: I86a70f3bd0c351932270bfd985fcce6461a1bdbe
2020-06-22 18:21:18 +00:00
Rahul Frias
dffadd204c Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: Ia4c431617789fbbb5f973f076b29408df2b2a2bc
2020-06-22 18:14:28 +00:00
Rahul Frias
652258d70e Merge "Handle SPOID calculation for L3" into rvc-dev am: 25d1646138
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11736137

Change-Id: Ifb2d04b609a00905c5c42ee629e83674822b64cb
2020-06-22 18:14:27 +00:00
Rahul Frias
25d1646138 Merge "Handle SPOID calculation for L3" into rvc-dev 2020-06-22 18:04:18 +00:00
Alex Dale
0aaf1df125 Test CDM sessions prevent multiple usage entries.
[ Merge of http://go/wvgerrit/102068 ]

CDM sessions should not be able to load multiple usage entries.
OEMCrypto already prevents multiple entries from being loaded by the
same OEMCrypto session; however, restoring a key typically creates a
new OEMCrypto session, which should not be allowed twice within the
same CDM session.

This test verifies that CDM returns an error if restore key is called
multiple times within the same session.

Bug: 136143733
Test: Android integration test
Change-Id: I594c91250217fd958837328162f909bc931d373f
2020-06-19 20:40:54 -07:00
Rahul Frias
7e689a1828 Handle SPOID calculation for L3
[ Merge of http://go/wvgerrit/101443 ]

The WVDrmPlugin has a single CdmIdentifier. The CdmIdentifier contains
a SPOID that is calculated from the device ID (keybox or OEM cert),
an application reverse domain name and possibly an origin.

The CdmIdentifier is set and SPOID calculated on certain calls into
WVDrmPlugin. Once it is set, it will not be recalculated. We prevent
certain operations such as modifying the origin once the CdmIdentifier
has been set as this will require recalculating the SPOID.
Recalculating the SPOID may affect open sessions or calls in progress.

In a similar way, modifying the security level, will affect the
Device ID value and in turn the SPOID. The security level cannot be modified
if any sessions are open. This does leave open the possibility that the
SPOID may be calculated at one security level, sessions are then closed,
and the security level is then changed without an error being flagged.

The provisioning certificate file name is based on the SPOID. When
the SPOID does not match the security level, either the provisioning
information may not be found even though that security level has
been provisionined or the provisioning information may be stored
in an incorrect location if provisioning occurs.

The correct solution is to prevent modifications to the security level
once the CdmIdentifier is set. This is a behavior change and might
impact apps. We will reevaluate this for the next release.

For now, we will work around this. When the CdmIdentifier is set for L3,
we will calculate SPOIDs with both L1 and L3 device IDs and check if
provisioning previously occurred with SPOIDs calculated for that level.
If so, use that level, otherwise use L3.

Bug: 147703382
Test: Android unit/integration tests, GtsMediaDrmTests
Change-Id: Ia64adfc5848e431ee3876af03eebdb4b6eb83116
2020-06-17 00:50:14 -07:00
Edwin Wong
716c07aa46 Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: 656db1857b am: 456caca048
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: I9bc6265d05b0485b3e3f368abd898d06cd134b32
2020-06-17 01:28:25 +00:00
Edwin Wong
fd385e67dc Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: f596c0929e am: 8ac53ecf87
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: Ica09d118bf5cf4efb2a18fb05e09ee9df22b5294
2020-06-17 01:28:16 +00:00
Edwin Wong
6e3c8f51b6 Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: 656db1857b am: 2efe1ab43a
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: Idc8016ab0f8800491f643026b3335969b008b641
2020-06-17 01:28:07 +00:00
Edwin Wong
8ac53ecf87 Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: f596c0929e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: Iecc5344c3f153fa085faeda6e526c7432d960038
2020-06-17 01:14:25 +00:00
Edwin Wong
2efe1ab43a Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: 656db1857b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: Ia81efaffabcb99ab931a8538aa39d88fbf3f5835
2020-06-17 01:14:13 +00:00
Edwin Wong
456caca048 Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d am: 656db1857b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: I3bf7e672c918824a493402022d54c317f02655f6
2020-06-17 01:14:02 +00:00
Edwin Wong
f596c0929e Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: I9969623efb2098fecdd9cfd5d38e3477a37dabed
2020-06-17 01:00:02 +00:00
Edwin Wong
656db1857b Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev am: 6b8d0e034d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11838915

Change-Id: I3b1f5fa74f157d7ffc336ec53f61f6dacf29d2d9
2020-06-17 00:59:46 +00:00
Edwin Wong
6b8d0e034d Merge "Add v16 Widevine Integration Guide Android Supplement" into rvc-dev 2020-06-17 00:47:04 +00:00
Edwin Wong
72dc93ed1d Add v16 Widevine Integration Guide Android Supplement
The doc is based on
WidevineSecurityIntegrationGuideforCENCAndroidSupplement_v15.pdf.
The "Build Files" and "Reference Implementation" sections are
updated for v16.

merged from http://go/wvgerrit/101747

Please see revision history in:
https://docs.google.com/document/d/19pSOpV5_6AtyK82p1b5DajlYZnVOfyL63p5h72yWW5k/edit?usp=sharing

Test: revision history

bug: 147596889
Change-Id: If3e9fc6bb268d1d3be62b56e2e43752d8df3fc03
2020-06-16 15:19:34 -07:00
Rahul Frias
b06a92f6b3 Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 0db9b974c2 am: bde967aa74
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I849a4eb13be06383dd40f2f4ccf0643c5db099b5
2020-06-16 09:18:10 +00:00
Automerger Merge Worker
c70e1dad33 Merge "Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 4868f95704" into rvc-d1-dev-plus-aosp am: 0e2311c1ed
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: Ie5a188241e664b62e057f9e739bb1acfedf1153d
2020-06-16 09:13:16 +00:00
Rahul Frias
7b0fe07c8a Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 0db9b974c2 am: 1c6633d408
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I48c5b7cc50c94e78b9aa9f65748d5fa51fc949ea
2020-06-16 09:12:57 +00:00
Rahul Frias
bde967aa74 Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 0db9b974c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I0bdb926501259cce1a74c631bd284a7a8073fa9d
2020-06-16 09:07:19 +00:00
Automerger Merge Worker
0e2311c1ed Merge "Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 4868f95704" into rvc-d1-dev-plus-aosp 2020-06-16 09:03:36 +00:00
Rahul Frias
82c6448e9c Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 4868f95704
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I2433ef31b467cfda8396743db887169c8bd5a218
2020-06-16 09:03:32 +00:00
Rahul Frias
1c6633d408 Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87 am: 0db9b974c2
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I31070cfbc0f7f8742fea3dc5e25c1328df68de22
2020-06-16 09:03:23 +00:00
Rahul Frias
4868f95704 Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I3e94398b1ae4670f33a3c128e653e38d2baaa525
2020-06-16 08:54:41 +00:00
Rahul Frias
0db9b974c2 Merge changes I295f66f9,I142f286c into rvc-dev am: 05fbb3dd87
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11620164

Change-Id: I59aa80b62824a29a8350b99a8f9a35d193aa968e
2020-06-16 08:54:27 +00:00
Rahul Frias
05fbb3dd87 Merge changes I295f66f9,I142f286c into rvc-dev
* changes:
  Add ATSC support - part 2
  Add ATSC support - part 1
2020-06-16 08:46:02 +00:00
Automerger Merge Worker
70d0761ed6 Merge "Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: 859038e6c8" into rvc-d1-dev-plus-aosp am: 9833b1e86d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I6851edd39289b33f5ab4d2b159f6d1ec8d8133a8
2020-06-16 02:34:00 +00:00
Fred Gylys-Colwell
98187ae858 Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: 859038e6c8 am: 8dafa15521
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I5ac8eae550901fac5734f582279ce73e96f98e75
2020-06-16 02:33:48 +00:00
Fred Gylys-Colwell
6926815f29 Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: d0259e0942 am: 8ff9d2255d
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I9fb4b3beddb2cf7c649420ca3ae22d9c5124d85a
2020-06-16 02:33:41 +00:00
Fred Gylys-Colwell
8dafa15521 Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: 859038e6c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I0c42f412da1de1624577700887db1f6bd7ca937c
2020-06-16 02:20:30 +00:00
Automerger Merge Worker
9833b1e86d Merge "Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: 859038e6c8" into rvc-d1-dev-plus-aosp 2020-06-16 02:20:20 +00:00
Fred Gylys-Colwell
1ee911150a Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: 859038e6c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I47571f3ab78d1e917f3361258b3c29ee1f4883c4
2020-06-16 02:20:16 +00:00
Fred Gylys-Colwell
8ff9d2255d Remove Android.mk for OEMCrypto ref code am: 119932ea69 am: d0259e0942
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I90988810cb3a1e5443ca58fe65a9ddb775e6f326
2020-06-16 02:20:15 +00:00
Fred Gylys-Colwell
859038e6c8 Remove Android.mk for OEMCrypto ref code am: 119932ea69
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: Iab024d334ba53aacd6813a350749f6a31568d635
2020-06-16 02:12:45 +00:00
Fred Gylys-Colwell
d0259e0942 Remove Android.mk for OEMCrypto ref code am: 119932ea69
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11870737

Change-Id: I3eba5d14aa17dc70888964154b11e70ff7e6bdbc
2020-06-16 02:12:30 +00:00
Fred Gylys-Colwell
119932ea69 Remove Android.mk for OEMCrypto ref code
Merge from Widevine repo of http://go/wvgerrit/101905

The reference OEMCrypto should not be built as part of Android.

Test: Builds
Bug: 146361995
Change-Id: Ic25e6e567fcac519636f64dabc0d59b3df78990e
2020-06-15 17:40:28 -07:00
Dan Willemsen
927ef46152 Replace libcrypto_static with libcrypto am: 761d1723ff am: abf67e2910
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11815604

Change-Id: Ie3a6d8648842d1a1f6cd0dfcf70927b7cedf7b57
2020-06-15 20:10:51 +00:00
Dan Willemsen
abf67e2910 Replace libcrypto_static with libcrypto am: 761d1723ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11815604

Change-Id: If659bab9de0b6878e21035aac6b99c4d4bf83e15
2020-06-15 20:00:10 +00:00
Rahul Frias
8da1145012 Add ATSC support - part 2
[ Merge of http://go/wvgerrit/100905 and http://go/ag/10708438 ]

Add support for ATSC certificate and licenses handling. ATSC
files are distinguished from the apps DRM certificate and licenses
by file naming conventions.

Bug: 139730600
Test: WV unit/integration test, GtsMediaTestCases
Change-Id: I295f66f92fe01d7716978deac9dc360d74addedd
2020-06-12 03:48:58 -07:00
Dan Willemsen
761d1723ff Replace libcrypto_static with libcrypto
libcrypto_static has restricted visibility, which is now being
implemented in Make, so we either need to allow it for all vendor
modules, or use the shared library instead.

Bug: 158599308
Test: treehugger
Test: mmma vendor/widevine/libwvdrmengine
Change-Id: I88ddce7ad221c66a20f4e05409ae77421e4196ad
2020-06-10 00:10:06 +00:00
Rahul Frias
bbe9f6afc4 Add ATSC support - part 1
[ Merge of http://go/wvgerrit/100864 and http://go/ag/10704773 ]

ATSC 3.0 allows for licenses to be downloaded OTA and are tied to
a DRM certificate that may be shared across apps. The provisioning
process for ATSC may happen at the factory or during an OS update.

This contrasts from the regular OTT model, which requires that
provisioning and license download have an uplink as well as a
downlink connection.

This adds support for the ATSC mode property. ATSC mode can only be
set (or unset) before sessions are opened. Once the CDM identifier is
set/sealed, requests to modify the ATSC mode will be rejected.

If one needs to open sessions with both ATSC mode and regular (non-ATSC)
mode, separate MediaDrm objects will need to be created. The default
mode is to not use ATSC.

Enable ATSC mode by calling
  mediaDrm.setPropertyString("atscMode", "enable")

Disable ATSC mode by calling
  mediaDrm.setPropertyString("atscMode", "disable")

Provisioning and unprovisioning requests for ATSC will be rejected as
certificates will be retrieved by the ATSC service.

Bug: 139730600
Test: WV unit/integration test, GtsMediaTestCases
Change-Id: I142f286c711fe007ff42125c3c8cdc6450b6ea36
2020-06-08 14:56:48 -07:00
Automerger Merge Worker
4301ca6365 Merge "Update OEMCrypto documentation to v16.3 am: aa5fc5afd0 am: d974c03dd1" into rvc-d1-dev-plus-aosp am: b8d8bdbf38
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11707216

Change-Id: I781d687b35ebf6c7c7749e9ae3cb1ffdba49eba0
2020-06-04 22:14:14 +00:00
Automerger Merge Worker
b646ad1d07 Merge "Update OEMCrypto documentation to v16.3 am: aa5fc5afd0 am: 30ea7ee843 am: a4b30d900e" into rvc-qpr-dev-plus-aosp 2020-06-04 22:14:06 +00:00
Fred Gylys-Colwell
4c44aa5f7e Update OEMCrypto documentation to v16.3 am: aa5fc5afd0 am: 30ea7ee843 am: a4b30d900e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11707216

Change-Id: I8132d7c40c9131c062efcf40800fb01708b6ad6b
2020-06-04 22:14:03 +00:00
Fred Gylys-Colwell
cc446c0075 Update OEMCrypto documentation to v16.3 am: aa5fc5afd0 am: 30ea7ee843 am: 615bf191a5
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/11707216

Change-Id: I503c075fcff317f2563443d22565a821e0291e98
2020-06-04 22:13:58 +00:00
Automerger Merge Worker
b8d8bdbf38 Merge "Update OEMCrypto documentation to v16.3 am: aa5fc5afd0 am: d974c03dd1" into rvc-d1-dev-plus-aosp 2020-06-04 22:00:34 +00:00