Commit Graph

7058 Commits

Author SHA1 Message Date
Alex Dale
e4593c5836 Merge "Added metrics history for WV CDM for Android." into udc-dev am: b5a7412675
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22794476

Change-Id: Iaac091db712fa3e0069179bb6779407cf4c14967
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-29 00:07:32 +00:00
Alex Dale
b5a7412675 Merge "Added metrics history for WV CDM for Android." into udc-dev 2023-04-28 23:39:33 +00:00
Kyle Zhang
0ef103b048 Merge "Fix prebuilt apexes" into udc-dev am: 5409567ef9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22787524

Change-Id: Icadda8c3544429b4a62dd5f2a0bab5e63a7eaccb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-27 22:00:20 +00:00
Kyle Zhang
7d3b62c8f6 Merge "Create different targets for each Widevine apex" into udc-dev am: c01cd91d92
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22604302

Change-Id: Idc1db8960465c991ac6f4d91492191afdd8db70a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-27 22:00:16 +00:00
Alex Dale
c42627a23e Added metrics history for WV CDM for Android.
[ Merge of http://go/wvgerrit/171271 ]

There is a need to maintain a short history of metrics from CDMs which
have been deleted.  This CL adds this ability to the Android version
of the WV CDM.  The history cannot yet be maintained for long, as the
WV CDM instance is destroyed if unused.

Further changes are required to the plugin to maintain the history
beyond the life-cycle of the CDM instance, and to properly format
its output.

Bug: 239462891
Bug: 270166158
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Test: atest GtsMediaTestCases
Change-Id: I81c0996602722a9795fc3951030d20bb39b5816b
2023-04-27 14:54:17 -07:00
Kyle Zhang
5409567ef9 Merge "Fix prebuilt apexes" into udc-dev 2023-04-27 21:21:11 +00:00
Kyle Zhang
c01cd91d92 Merge "Create different targets for each Widevine apex" into udc-dev 2023-04-27 21:21:11 +00:00
Cong Lin
b69acfb612 Add BccParser to internal factory upload tool am: 5ce29c42da
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22881149

Change-Id: I57759862282c52db3850e8d06486e8bd67bfff9e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-26 23:53:25 +00:00
Cong Lin
5ce29c42da Add BccParser to internal factory upload tool
Add a Bcc parser which prints the public keys in dice chain and a few
other key properties.

Borrowed code from
https://source.corp.google.com/piper///depot/google3/video/widevine/keysmith/provisioning/provisioning40/boot_certificate_chain_parser.cc
and modified locally to build an executable tool.

Sample output from new pixel device:

ROOT DEVICE PUBLIC KEY:
key encoding format: DEVICE_KEY_OCTET_PAIR
key algorithm type: ECDSA_SHA384
curve: P384
public key bytes: 04de874f6067bde6604b2d7a5d51ad28e6335d4524de4314ba6e594e6c95ccefeb17066a0b2f86b16591815c184694d7c54f02549e390e98e9e244e9cd73e616ffd9160371936b7c57e42617a3b497265bc84a0870fae4542e9f35b350383f4ebf

CDI PUBLIC KEY 1:
Issuer: 6a680468c33e5a9a95730632070f76e016f971a9
Subject: 5fbc8ab87c4a23ae660ea38461fea5bbc375a08c
key encoding format: DEVICE_KEY_OCTET_PAIR
key algorithm type: ECDSA_SHA384
curve: P384
public key bytes: 04dfa00e8f96d25400a7824c44a27ba141520629820a7348d48b6fa9b616e6f6793df08288c81985864b07b08fbce4beca3f0297b4b1965be3c26aa493d98ef20f18b2cf2c751ed77b170e04a2a7712f7509b22ac9b504965bd0a963c5947ccc2e

CDI PUBLIC KEY 2:
Issuer: 5fbc8ab87c4a23ae660ea38461fea5bbc375a08c
Subject: 34a2c88d0edfd43663d47357e64280f26ebe5baa
key encoding format: DEVICE_KEY_OCTET_PAIR
key algorithm type: ECDSA_SHA384
curve: P384
public key bytes: 047717658a703114cd4d287162b3d75ff366b0d7dcd330bdab7fe61bcb1d50b2dd897a2ae6e878100839a3a47b966339bbb1220e76af68832035954ba39266563357fae446b734aefdf8b1295db59ac1ee9692841fee0b62b6d32651c817b34116

CDI PUBLIC KEY 3:
Issuer: 34a2c88d0edfd43663d47357e64280f26ebe5baa
Subject: 0b657b3c2448a5e0669953f9d5bdd90b431bbff2
key encoding format: DEVICE_KEY_OCTET_PAIR
key algorithm type: ECDSA_SHA384
curve: P384
public key bytes: 041a11632576b82a1ead43a6744c6601c869dc8cbc519332f588ad79d01754964b595c4f83a7168c0f494715bedefa87cb699df4d41849fe140ab95252e55808908cc02708bc86b4d3a6a0f4dc6c49d138d67a5d3406ae25773ae182972656599c

Test: parse BCC and Dice chain on pixel existing/new devices
Bug: 279688624
Change-Id: Ia77a1d9f8f467992b998549572270da2c56b38b8
2023-04-26 10:20:16 -07:00
Cong Lin
7256ccc161 Merge "Factory extraction tool: Use device info from OS property when TEE returns empty" into udc-dev am: 9c42689506
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22816864

Change-Id: Iffe39839c4b5c43e680e6e1ad01fc7276cc7a516
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-26 03:28:46 +00:00
Cong Lin
9c42689506 Merge "Factory extraction tool: Use device info from OS property when TEE returns empty" into udc-dev 2023-04-26 02:57:21 +00:00
Kyle Zhang
a15cf030ea Merge "Set drm@latest to widevine service NOT apex" into udc-dev am: 6fda7dfc49
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22655798

Change-Id: Ib2d13d10599f4d831ed9c6c88d6597dc1de2ee0d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 19:01:45 +00:00
Cong Lin
c252d79287 Merge "Use device info from OS property when TEE returns empty" into udc-dev am: 7e3821885b
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22824076

Change-Id: Ief9d17bbe725fe43f76dac3da4e36b409dfbcd62
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 19:00:46 +00:00
Kyle Zhang
6fda7dfc49 Merge "Set drm@latest to widevine service NOT apex" into udc-dev 2023-04-25 18:47:14 +00:00
Cong Lin
8c0e7f2ba3 Factory extraction tool: Use device info from OS property when TEE returns empty
Similar change is merged to widevine internal tool: ag/22824076

Some mandatory device info fields like manufacturer can be empty string
when returned from TEE on devices which have not been provisioned with
attestation IDs.

The extraction tool also needs to check for empty string in the
response, and if so, populates the field with Android property values.

Test: extracting device info from new Pixel EVT 1.1 and uploading
Bug: 276958001
Change-Id: I055ee0994d9dbbbf9c0c0875670a449a56a3e29e
2023-04-25 18:23:09 +00:00
Cong Lin
7e3821885b Merge "Use device info from OS property when TEE returns empty" into udc-dev 2023-04-25 18:22:02 +00:00
Alex Dale
fa1bc9116d Merge "Fixed WV metrics YAML formating." into udc-dev am: d09c640c69
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22792935

Change-Id: Iff760bd5be57ecea2d9e2a5ca347e0b3430ff1d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-24 22:47:39 +00:00
Robert Shih
13077f55fb dumpsys properties: fix indent & quotation am: 5036a0fc07
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22822564

Change-Id: Id25f8e04e88f9df0a69ca03d6e1b332f0be34b89
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-24 22:47:19 +00:00
Alex Dale
d09c640c69 Merge "Fixed WV metrics YAML formating." into udc-dev 2023-04-24 22:04:34 +00:00
Cong Lin
65f50d4662 Use device info from OS property when TEE returns empty
Some mandatory device info fields like manufacturer can be empty string
when returned from TEE on devices which have not been provisioned with
attestation IDs.

The extraction tool also needs to check for empty string in the
response, and if so, populates the field with Android property values.

Test: extracting device info from new Pixel EVT 1.1 and uploading
Bug: 276958001
Change-Id: I6e1b3dee8ffcd991335bc50b59a0c80f030cdc79
2023-04-24 14:14:42 -07:00
Robert Shih
5036a0fc07 dumpsys properties: fix indent & quotation
[ Merge of go/wvgerrit/c/cdm/+/171352 ]

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -p
Change-Id: I0b9ea26a4027b7fbbd277536c0e705885eef408e
2023-04-24 12:54:11 -07:00
Robert Shih
ff346a7bea Merge "Return apex name for PROPERTY_VENDOR" into udc-dev am: a658e076dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22606352

Change-Id: Idad157296d2853f2a8e1cc9bff36ae425c406559
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-21 20:59:52 +00:00
Alex Dale
1e1f11f5b1 Fixed WV metrics YAML formating.
[ Merge of http://go/wvgerrit/171270 ]

The metrics dump tool for the Widevine DRM factory was producing
malformed YAML output.  This is compounded by the formatting using
fixed indentation for its output.

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Test: atest GtsMediaTestCases
Change-Id: I784d107085721ad0dabe94bdab33e9cc073f98e4
2023-04-21 13:32:52 -07:00
Robert Shih
a658e076dc Merge "Return apex name for PROPERTY_VENDOR" into udc-dev 2023-04-21 19:37:03 +00:00
Kyle Zhang
e362704180 Create different targets for each Widevine apex
Bug: 277764729
Change-Id: I7c8599ba55ba75b092b14ddb88553735f02cdaa0
2023-04-21 17:05:38 +00:00
Jooyung Han
71781924e8 Fix prebuilt apexes
- Add vendor:true
- Use use_soong_config_var to toggle prebuilt/source_build

Bug: 251299786
Test: SOONG_CONFIG_widevine_module_source_build=false m \
        com.google.android.widevine
Change-Id: If835b443a825dcab1ec09aaa21001602e9b53d20
2023-04-21 17:05:11 +00:00
Cong Lin
6f9245c7ff Fix spurious wake up in dynamic adapter am: 5ccb147bb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22686796

Change-Id: I13739218a8050fa2ec04ec52848e9dd96e712fd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-20 22:27:02 +00:00
Cong Lin
5ccb147bb8 Fix spurious wake up in dynamic adapter
The predicate version of wait_for() to avoid spurious wake up by
checking running_ status.

This is a fix to ag/21439870

Test: build widevine
Bug: 272424659
Bug: 271811708
Change-Id: I446fef8f4c8c58bcd47b885dba50643b3e5e1185
2023-04-20 19:16:19 +00:00
Kyle Zhang
555b381e81 Set drm@latest to widevine service NOT apex
Bug: 277761241
Change-Id: I71f8a7e6b6a1c3cce24a8b33e0bb7748bbdd7230
2023-04-20 17:29:54 +00:00
Cong Lin
7a70e1baf6 Re-generate Android L3 after zero-initializer fix am: efd05207c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22653062

Change-Id: I0628f545d8150cac036d17b63c4beacc08a147ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-17 18:15:20 +00:00
Cong Lin
efd05207c8 Re-generate Android L3 after zero-initializer fix
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/170631

Original fix:

Array intializer "= {0}" may involve compiler specific behaviors which
can cause haystack hang on arm32 target. Fix is to use memset() instead.

Test: debug build verified on arm32 device
Test: Ran GTS media tests on Pixel 7
Bug: 274637461
Change-Id: I02f5df232934e0c78e259c85e4faf313c01c0b6b
2023-04-14 12:38:49 -07:00
Rahul Frias
dbf42e9492 Merge "Force a reprovisioning on device renewal" into udc-dev am: 333fe249e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22360386

Change-Id: I264e34cc935d8df45f19c06aa349a88c00b7e4d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-14 06:10:51 +00:00
Rahul Frias
333fe249e4 Merge "Force a reprovisioning on device renewal" into udc-dev 2023-04-14 05:49:14 +00:00
Robert Shih
d258acb879 Return apex name for PROPERTY_VENDOR
[ Merge of go/wvgerrit/c/cdm/+/170370 ]

Bug: 277620071
Test: WidevineHalTest
Change-Id: I05385358875723e20b13d3abb21a0deee9f35c29
2023-04-12 15:36:38 -07:00
Alex Dale
e168e35355 Moved OEMCryptoResult string converter. am: de779e7545
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22520102

Change-Id: I012477d1bc83989bb558ddf41efc0d52da7afa08
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-12 02:27:01 +00:00
Alex Dale
de779e7545 Moved OEMCryptoResult string converter.
[ Merge of http://go/wvgerrit/170073 ]

Removed the file "error_string_util.cpp" and its header, moving the
OEMCryptoResult to string converter to "wv_cdm_types.cpp".  This extra
file served little purpose, and created a dependency on the CDM utils
to the CDM itself.

This is part of the effort to fix the formatting of WV metrics; making
enum-to-string conversion uniform throughout the CDM.

Bug: 239462891
Test: adb shell dumpsys android.hardware.drm.IDrmFactory/widevine -m
Test: Manual testing with Google TV
Change-Id: I4bf95d26b623f5b8fa86bdb2578cbc4ee65125cb
2023-04-11 14:08:30 -07:00
Cong Lin
a5a7d77896 Merge "Fix invalid key session id" into udc-dev am: 9c844682a6
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22429576

Change-Id: I6c54961f0755ef911496e18819c6355fc5e97fe1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-05 18:35:03 +00:00
Cong Lin
9c844682a6 Merge "Fix invalid key session id" into udc-dev 2023-04-05 17:41:43 +00:00
Rahul Frias
d31a4dec56 Force a reprovisioning on device renewal
[ Merge of http://go/wvgerrit/169374 ]

Device renewals used to require that OEMs remove provisioning
certificates as part of the OTA update process. Instead, a change
in system ID is relied upon to indicate a change in root of trust.
If a change in System ID is detected, reprovisioning will be forced.

This is not enabled for ATSC devices or L3 devices. For the latter a
change in system ID may occurs without a change in RoT.

Bug: 258361396
Test: GtsMediaTestCases
Change-Id: I6e8b0b2149fc2ed5362a32bb6e869826f5fa8ef7
2023-04-05 08:30:47 -07:00
Cong Lin
1b5bf5a71a Fix invalid key session id
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/169871

The default invalid entitled key session id was 0, which in fact could
be a valid value depending on how the key session id is allocated by the
implementation. This can be a possible cause of L3 entitled key session
failure since L3 can recycle a regular oemcrypto session id 0 and
re-assign it to an entitled key session later.

Bug: 264688931
Test: Run GTS media tests

Change-Id: Iae79d08378d61be8a3402f606992765f24298508
2023-04-05 00:34:40 +00:00
Kyle Zhang
535e6e8832 Merge "Drop Widevine CDM v17 prebuilt files" into udc-dev am: 0ab8f029a0
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22323332

Change-Id: I67c6734ffc86f7633ac05699a744de968aae064a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-04 20:54:55 +00:00
Kyle Zhang
0ab8f029a0 Merge "Drop Widevine CDM v17 prebuilt files" into udc-dev 2023-04-04 20:12:57 +00:00
Alex Dale
c0d1a40619 Merge "Add mutex to CdmEngine for use of usage_session_." into udc-dev am: 6bddc2e43e
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/22356650

Change-Id: I54706eb8ee2c501ce0003df0b644f7dbe8abaf73
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-03 06:54:16 +00:00
Alex Dale
6bddc2e43e Merge "Add mutex to CdmEngine for use of usage_session_." into udc-dev 2023-04-03 06:25:56 +00:00
Alex Dale
2fc1b59ddc [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 3904f05bae -s ours am: df6e4a468a -s ours am: 9c505c5cb5 -s ours am: e4a811c3c8 -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: Ia728f0eab51c2746b95450ac469291fd17a26c72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 04:22:49 +00:00
Alex Dale
cb49c23e1e [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 2c9865158c -s ours am: 416f924683 -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: I8cf1ded696e9f774b0654419159d1273f36846b5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 04:22:33 +00:00
Alex Dale
e4a811c3c8 [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 3904f05bae -s ours am: df6e4a468a -s ours am: 9c505c5cb5 -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: I686a565dc6ba4310625c806334cc951de9672e3b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 04:14:32 +00:00
Alex Dale
9c505c5cb5 [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 3904f05bae -s ours am: df6e4a468a -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: I91243774de4d9caf45a1807b9e5701f8260c9b54
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 03:24:52 +00:00
Alex Dale
df6e4a468a [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 3904f05bae -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: I2eab3638548fbd99d5c6c07d21a4c74803d7ba76
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 02:56:46 +00:00
Alex Dale
416f924683 [automerger skipped] Merge "Add mutex to CdmEngine for use of cert_provisioning_." into rvc-dev am: fc365ed31e am: ae71d6ecd0 -s ours am: e099962d1f -s ours am: fc6dccb126 -s ours am: 48ee2ad7d6 -s ours am: f585abface -s ours am: 2c9865158c -s ours
am skip reason: Merged-In If71a0e7a81f376cf28688a590b6cb9dcea699545 with SHA-1 491dfe7690 is already in history

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

Change-Id: I9896f73e11fa7ba45f117ee7a8623b6bb788db85
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-01 02:54:14 +00:00