Junfeng Yang
e0dac6f403
Remove a mistaken comment line
...
It appears there is a mistaken line in the comment for
OEMCrypto_LoadLicense.
Change-Id: I6a265e606052913a1adac317fa8557663897994c
2024-01-30 16:09:41 -08:00
Matt Feddersen
aaa1ce865f
Improve documentation for OEMCrypto_GenerateCertificateKeyPair
...
Bug: 279194702
Merged from https://widevine-internal-review.googlesource.com/173630
Merged from https://widevine-internal-review.googlesource.com/174539
Change-Id: I59dfe4c5053c24c011c9222fe516b446df6524e0
2024-01-30 16:09:41 -08:00
Matt Feddersen
89ba99f16d
Add new optional fields to OEMCrypto_BuildInformation output
...
Bug: 273347757
Merged from https://widevine-internal-review.googlesource.com/168937
Change-Id: I0f878cab8456fa277a453d76e4deb4a2a846ede9
2024-01-30 16:09:41 -08:00
Vicky Min
a012466156
Use GTEST_SKIP for non keybox devices
...
Bug: 251240681
Merged from https://widevine-internal-review.googlesource.com/179090
Change-Id: I8c539bfbccde7f22fb732951a95715935935858f
2024-01-30 16:09:41 -08:00
Fred Gylys-Colwell
f6c1879b4c
Add OEMCrypto_FactoryInstallBCCSignature API
...
This was requested by OEM and SOCs to support Prov 4 signing
model in the factory.
Bug: 275567037
Merged from https://widevine-internal-review.googlesource.com/176310
Change-Id: I2907841c4a16f37ae9a2241a6c9eaad73ff616af
2024-01-30 16:09:41 -08:00
Robert Shih
dd1c01c9dd
Merge cdm core changes into Android main
...
Merged commit:
- short link: go/wvgerrit/177661
hash: a3cd4bd
subject: Fix policy engine unittest issues from clang-tidy
submitted: 2023-07-06
Change-Id: I7f079fccdd2f296d51b08b0a7005a0bb7c930ccb
2024-01-30 16:04:12 -08:00
Robert Shih
cc8f885e2b
Merge oemcrypto fuzz tests into Android main
...
Change-Id: If7fb815fa6193ddfe9a94e925356cc177ae3bacc
2024-01-30 16:03:00 -08:00
Vicky Min
e123e25a9e
Add comments referencing both places that need to be updated with new minor version releases.
...
PiperOrigin-RevId: 552584184
Change-Id: I3eaba4e9b4cf83e70c5dfc2edcfbbeace789d49a
(cherry picked from commit 589feafd7b572319ddbae97eb1778d760a739dd3)
2024-01-29 12:40:18 -08:00
Cong Lin
7277331f92
Update ODK version to 18.4 and unit tests
...
Test: odk tests, opk_ta, fake_l1_tests
Bug: 294440012
Merged from https://widevine-internal-review.googlesource.com/181150
Change-Id: Ia33962f9d244333b1ca17c9a64efc29de35db093
2024-01-29 12:40:11 -08:00
Fred Gylys-Colwell
10d9bc272f
Mark some ODK types as undocumented, and document others
...
Bug: 293188660
PiperOrigin-RevId: 551019650
Merged from https://widevine-internal-review.googlesource.com/180470
Merged from https://widevine-internal-review.googlesource.com/180530
Change-Id: I28aa1d82437128ac2862cf0d6de325644e4af067
2024-01-29 12:39:48 -08:00
Vicky Min
e765453b35
Update ODK minor version to match when major version is updated
...
PiperOrigin-RevId: 551930047
Merged from https://widevine-internal-review.googlesource.com/180430
(cherry picked from commit d85aa8107dbe292490f9897b1e76f72bc0144bff)
Change-Id: If973113886a19cb720ad635e68830b9afbcf22b5
2024-01-29 12:39:48 -08:00
Fred Gylys-Colwell
06ad24bce0
Update ODK and test version to 18.3
...
PiperOrigin-RevId: 546349606
Merged from
https://widevine-internal-review.googlesource.com/178000
and
https://widevine-internal-review.googlesource.com/178061
Bug: 290252863
Change-Id: I0d6d9a0214d556ae39efe8a720df8ac60c1e67fb
2024-01-29 12:39:46 -08:00
Matt Feddersen
2e7c68440b
Bump OEMCrypto API to 18.2 to match ODK
...
Merged from https://widevine-internal-review.googlesource.com/170295
Change-Id: I9e9cc0c7c3296db71ac31518cf2d3d8608066686
2024-01-29 12:38:34 -08:00
Fred Gylys-Colwell
84e27c660d
Initialize renewal request time
...
The `time_of_renewal_request` field in the clock_values struct was not being initialized. With this CL, we use a value of 0 to indicate a renewal has not been requested yet.
We also modify the check in `ODK_ParseRenewal` to use a value of 0 for the `time_of_renewal_request` to skip the check for a stale renewal. This is done because now that a "renew on license load" license starts the playback clock immediately, we need a different way to decide if a renewal from a previous session can be loaded.
PiperOrigin-RevId: 546129556
Merged from https://widevine-internal-review.googlesource.com/177998
Change-Id: I17282cf918d0cdb4d9b5108a41914ecd7d87cc8f
2024-01-29 12:31:37 -08:00
Fred Gylys-Colwell
d0752047fc
Document b/290249855 in ODK
...
PiperOrigin-RevId: 546118816
Merged from https://widevine-internal-review.googlesource.com/177992
Change-Id: I6ab0b599a2d858f9451a5fbd3e3612275b729ee6
2024-01-29 12:31:36 -08:00
Vicky Min
414e928238
Remove version check in ODK_InitializeSessionValues
...
It seems ODK_InitializeSessionValues is only used in initializing the session in OEMCrypto, so we can remove this check.
PiperOrigin-RevId: 545729842
Merged from https://widevine-internal-review.googlesource.com/169914
Change-Id: Idcc58166f64116214540591dc71a774f3ce3f3d1
2024-01-29 12:31:36 -08:00
Alex Dale
48b1aed404
Set min_sdk_version for the Widevine APEX on ODK
...
This change brings the odk/Android.bp in sync with the Android repo. Change was originally made in ag/22120778
PiperOrigin-RevId: 540398693
Merged from https://widevine-internal-review.googlesource.com/177000
Change-Id: Id3bf7193da8de3b9942da052c32065f031102d9b
2024-01-29 12:31:03 -08:00
Vicky Min
ff80927f90
Allow server to send license with larger ODK_MAX_NUM_KEYS
...
PiperOrigin-RevId: 538676411
Merged from https://widevine-internal-review.googlesource.com/175915
Change-Id: Iadef2115fe3f9001034223e647cbfa6228484281
2024-01-29 12:31:03 -08:00
Fred Gylys-Colwell
57e997fe19
Add golden test data for ODK
...
This data was generated using the code in CLs go/wvgerrit/163726 (for v16),
go/wvgerrit/171730 (for v17), and go/wvgerrit/171750 (for v18).
PiperOrigin-RevId: 535679470
Change-Id: Ib644bbed7e7329dfea30ce25d325fd0556fdb7a7
2024-01-29 12:30:15 -08:00
John Bruce
db670e7bcc
Add tests for ODK overflow functions
...
Merged from http://go/wvgerrit/175855
This includes testing overflow functions that are only used in the Widevine client repository.
This patch also includes the following fix for the previous commit:
Add type casting for ODK overflow function unit tests
Merged from http://go/wvgerrit/175893
The new ODK overflow unit tests are causing some unit test failures in oemcrypto-v18 due to mismatched type comparisons.
PiperOrigin-RevId: 535308670
PiperOrigin-RevId: 534890798
Change-Id: I8bb67e47193a92191a91c83bf8a0de61e1b87793
2024-01-29 11:51:41 -08:00
Vicky Min
8f6dbdb94e
Set rental clock if not already set in ODK_ParseLicense
...
PiperOrigin-RevId: 535020833
Merged from https://widevine-internal-review.googlesource.com/175851
Change-Id: Idc5e2123e56346b9d7c036683c184057f49ea58a
2024-01-29 11:51:41 -08:00
Vicky Min
d5afa3fd99
Cleanup design of ODK_ParsedLicense handling and maintain backwards compatibility
...
PiperOrigin-RevId: 529531139
Merged from https://widevine-internal-review.googlesource.com/172870
Change-Id: Id07dc82a8c2729cdbf10a9c8680ed979f8de51b5
2024-01-29 11:51:41 -08:00
Vicky Min
6c953ab651
Fix license response default values error in CreateCoreLicenseResponse
...
PiperOrigin-RevId: 529588784
Merged from https://widevine-internal-review.googlesource.com/174260
# Conflicts:
# oemcrypto/odk/include/odk_structs.h
Change-Id: I96f348bfc9b5be7113ddb2af18a38c36d337697c
2024-01-29 11:51:41 -08:00
Vicky Min
f71014507d
Set renewal_delay_base in function CreateCoreLicenseResponseFromProto
...
PiperOrigin-RevId: 525261485
Merged from https://widevine-internal-review.googlesource.com/170810
Change-Id: I96f16639a728db9b6922d3f23e0212fa2902602e
2024-01-29 11:51:41 -08:00
Vicky Min
152f2144f9
Fix ODK warning errors for WV DRM
...
PiperOrigin-RevId: 525266553
Merged from https://widevine-internal-review.googlesource.com/169640
Change-Id: Id92dac068a2b2f767287641170f7b522f54588e4
2024-01-29 11:51:41 -08:00
Fred Gylys-Colwell
ae0134b21d
Make the server send ODK v18 messages by default
...
The core message had been throttled to only generate v17 messages because we wanted to stabilize the format before making the code live.
PiperOrigin-RevId: 524309559
Merged from https://widevine-internal-review.googlesource.com/170311
Change-Id: I2d09c9f6c73f844fd509531e86285ad71d22690f
2024-01-29 11:51:41 -08:00
Googler
89666aeb89
Fix issues identified by clang-tidy
...
- Replace assert with odk_static_assert for checks that can be handled
at compile time.
- Use explicit bool conversion with memcmp.
Merged from https://widevine-internal-review.googlesource.com/170414
PiperOrigin-RevId: 524277743
Change-Id: I8b32e886e780e80406afceea562be2033d75d340
2024-01-29 11:51:41 -08:00
Matt Feddersen
a2a27c44ef
Correctly parse v18.0 provisioning requests
...
The previous code fixed a backwards compatibility error for v18 provisioning requests being parsed by a v17 or older server. This bumped the minor version number to v18.1. v17 servers are still expected to fail when trying to parse v18.0 provisioning requests, and v18.1 requests will pass.
However, it did not correctly account for existing v18.0 requests on v18.1+ servers. v18.0 messages were naively detected by a failure to parse, and the parse function was not run again. This left the resulting nonce and session_id values uninitialized.
This CL fixes that by explicitly handling the v18.0 and v18.1+ cases, ensuring that the parse function succeeds and all relevant information is copied over. Furthermore, the unit test that was meant to catch this edge case has been improved to validate the resulting parsed message.
All code changes affect the server. This does not affect the client code eg OEMCrypto
PiperOrigin-RevId: 523714529
Merged from https://widevine-internal-review.googlesource.com/170110
Change-Id: I21911c4bb4304de2d93f092f356402bbd4240874
2024-01-29 11:20:20 -08:00
Vicky Min
c6e7c70a6b
Remove reference to OEMCrypto_LoadKeys() in ODK code
...
PiperOrigin-RevId: 522089097
Merged from https://widevine-internal-review.googlesource.com/168481
Change-Id: I59927c7f5aba52523aeba78c130f4b148d1c363f
2024-01-29 11:20:11 -08:00
Fred Gylys-Colwell
231ff3735c
Backport http://go/ag/21276850
...
Changes to the Android build files.
PiperOrigin-RevId: 512200169
Merged from https://widevine-internal-review.googlesource.com/166925
Change-Id: If6247499693013099d705dd22a123c36a76e0404
2024-01-29 11:06:45 -08:00
Rahul Frias
0cd3d185c7
Cleanup vendor projects are proprietary.
...
[ Merge of http://go/ag/21276850 ]
Test: m droid dist
Merged from https://widevine-internal-review.googlesource.com/166674
Merged from https://widevine-internal-review.googlesource.com/167234
Change-Id: I0bdec38c4d12710fa97b91665d211ba6c0d4b24d
2024-01-26 17:39:30 -08:00
Ian Benz
14c5d6ee5f
Move internal fuzz target naming scheme to g3doc
...
Change-Id: I400b0a34c670673aba9dd347ec41060b4b23897a
2024-01-26 16:26:25 -08:00
Ian Benz
e19927f4bf
Update OEMCrypto fuzzing documentation
...
- Add details for triaging crashes and writing fuzz tests.
- Move internal documentation not needed by partners to g3doc.
- Remove infrastructure details covered in the design document.
Change-Id: Ib60b2bea954f4371595b0f891434e2274366fdd2
2024-01-26 16:26:23 -08:00
Ian Benz
9a24732f5b
Replace entitled key session fuzzer
...
Enable multiple OEMCrypto calls in arbitrary order, multiple OEMCrypto
sessions, and OEMCrypto_ReassociateEntitledKeySession fuzzing.
Merged from https://widevine-internal-review.googlesource.com/174990
Merged from https://widevine-internal-review.googlesource.com/178330
Change-Id: Ic1ac754c74bf0299c8c9f04ffdbfe82cf9f7569d
2024-01-26 16:25:06 -08:00
Ian Benz
79c809840e
Add OEMCrypto_QueryKeyControl fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/177111
Merged from https://widevine-internal-review.googlesource.com/177117
Change-Id: Iea28155a369f71557a32cc34da7bd328f78e2413
2024-01-26 16:21:38 -08:00
Ian Benz
078682a897
Simplify fuzz tests using LicenseWithUsageEntryFuzz
...
Merged from https://widevine-internal-review.googlesource.com/175060
Change-Id: I2f245ac998883e2a31cde361e30b36f00681262c
2024-01-26 16:21:25 -08:00
Ian Benz
5c5433a8d8
Update OEMCrypto_LoadLicense corpus for ODK_Packing_ParsedLicense
...
- Regenerate corpus files.
- Change nonce endianness.
Merged from https://widevine-internal-review.googlesource.com/177010
Change-Id: I5f288a054325097d6ea696cd755fc0557d0eadd1
2024-01-26 16:20:39 -08:00
Vicky Min
28e68a866b
Fix crash in wvoec::LicenseRoundTrip::InjectFuzzedResponseData
...
After the ODK_MAX_NUM_KEYS change, the core response is a pointer to an
array instead of an array. This check should ensure the index of the key
array can always be accessed.
Bug: 286531859
Change-Id: I44604eb977be722ef692de2b61e1f626266a42a7
2024-01-26 16:18:40 -08:00
Ian Benz
ed55c511a3
Add OEMCrypto_GenerateCertificateKeyPair second stage fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/176771
Change-Id: I8afee6636a44f46a573be5a94f6c12161b57eace
2024-01-26 15:27:29 -08:00
Ian Benz
4aa2bcde49
Fix OEMCrypto_LoadEntitledContentKeys fuzzer
...
- Pass entitled key session to OEMCrypto_LoadEntitledContentKeys.
- Refresh corpus files.
Merged from https://widevine-internal-review.googlesource.com/176750
Merged from https://widevine-internal-review.googlesource.com/176758
Change-Id: I7edb081933d37897e3b9d83dd00a627b5de64bc9
2024-01-26 15:26:46 -08:00
Ian Benz
3a05989920
Add OEMCrypto_GetDeviceSignedCsrPayload fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/175050
Change-Id: I28e4b1bc1f82deaf5644d0b2e31d916bf65365d3
2024-01-26 15:23:50 -08:00
Ian Benz
ea43147a08
Add OEMCrypto_GetDeviceInformation fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174936
Change-Id: I79bbb8506a13d3142a8b323a7c67d0155973a3f4
2024-01-26 15:22:49 -08:00
Ian Benz
4f29280b3e
Remove unused OEMCrypto_GenerateSignature fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174772
Merged from https://widevine-internal-review.googlesource.com/176633
Merged from https://widevine-internal-review.googlesource.com/176634
Merged from https://widevine-internal-review.googlesource.com/176670
Change-Id: I36438c102bfe68ff16eab3db301377e858f533c1
2024-01-26 15:21:21 -08:00
Ian Benz
09e6f1c60f
Add OEMCrypto_GetKeyHandle fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174934
Change-Id: If44423ed51cc2ff10c1b471d39db962a653d8c14
2024-01-26 15:18:06 -08:00
Ian Benz
31a2f09792
Enable OEMCrypto_MoveEntry/ReuseUsageEntry fuzzers
...
Merged from https://widevine-internal-review.googlesource.com/174893
Change-Id: Ia46e74450bc20302edaf1c5e2bbde957a1d31c95
2024-01-26 15:17:45 -08:00
Ian Benz
8a4160bf8a
Add OEMCrypto_GetRandom fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174771
Merged from https://widevine-internal-review.googlesource.com/174854
Change-Id: Ia654123bcbe8fa2e7daadaab79c1149ff3cde6b0
2024-01-26 15:17:36 -08:00
Ian Benz
76cf1cd985
Simplify and enable create and remove entitled key session fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174851
Change-Id: Iebddae2412c66dbaf5bac042518aea58f9b0c315
2024-01-26 15:17:12 -08:00
Ian Benz
708670c98b
Simplify OEMCrypto_InstallOemPrivateKey fuzzer
...
Merged from https://widevine-internal-review.googlesource.com/174890
Merged from https://widevine-internal-review.googlesource.com/174856
Change-Id: If863e4a8f739ca5645311d7f7b08e6aec4cc7aca
2024-01-26 15:16:55 -08:00
Ian Benz
75d4778531
Fix spelling mistake
...
Merged from https://widevine-internal-review.googlesource.com/172590
Merged from https://widevine-internal-review.googlesource.com/172610
Merged from https://widevine-internal-review.googlesource.com/172650
Merged from https://widevine-internal-review.googlesource.com/174011
Change-Id: I88cb66704509010fa2e0bee5d0f580173db6fdcd
2024-01-26 15:16:55 -08:00
Ian Benz
a66143bec4
Fix OEMCrypto_GenerateRSASignature fuzzer
...
Ensure OEMCrypto is in the correct state before invoking
OEMCrypto_GenerateRSASignature.
Merged from https://widevine-internal-review.googlesource.com/168857
Merged from https://widevine-internal-review.googlesource.com/172171
Merged from https://widevine-internal-review.googlesource.com/172410
Merged from https://widevine-internal-review.googlesource.com/173130
Change-Id: I774f59af8044939c5a9618de348f2120a834e043
2024-01-26 15:16:55 -08:00