Commit Graph

19 Commits

Author SHA1 Message Date
Googler
5387878a5b Automated update of OPK code
Included changes:

  - 676ac7be8548d80c420591fc0b4fb9a11723ef34 Backwards compatibility script for CDM v18 and OPK v19 by Vicky Min <vickymin@google.com>
  - 3cd4f71fda91245ac0b61c4c847950952f3021c0 Change BuildInformation ree fields to optional by Matt Feddersen <mattfedd@google.com>
  - a2259e95dea40c27a4be02ad479aec8f1fc84737 Created a DICE CBOR Cert parser/serializer. by Alex Dale <sigquit@google.com>
  - b8f2c364afeb6279e5aee6488d4527e189ac42ff Don't create invalid enum value by John "Juce" Bruce <juce@google.com>
  - b0aed212a3b2dd8f752d8fc43982848c1aa6c152 Created an HLS Key type. by Alex Dale <sigquit@google.com>
  - f8cfc54b41f124ba849596dbe6438b7f271a72b7 Specify C/C++ standard when running clang-tidy on OPK by John "Juce" Bruce <juce@google.com>

GitOrigin-RevId: 676ac7be8548d80c420591fc0b4fb9a11723ef34
2025-05-30 09:58:39 -07:00
Matt Feddersen
a2b9e085e9 OEMCrypto and OPK v20 prerelease initial commit 2025-05-22 16:33:29 -07:00
Vicky Min
b4e12724af OEMCrypto and OPK 19.4 2024-11-26 20:50:11 +00:00
John W. Bruce
365ea19c9a OEMCrypto and OPK v19.3 2024-09-05 07:21:15 +00:00
Matt Feddersen
b8d32f0d6e OPK v19.1 2024-03-28 18:04:59 -07:00
Fred Gylys-Colwell
3c628c8f27 OEMCrypto v18.3
Updates to OEMCrypto API, OPK, ODK, and unit tests.

See the file CHANGELOG.md for details.
2023-07-11 16:57:57 -07:00
Fred Gylys-Colwell
562f64f292 Version 18.1
Updates to OEMCrypto API, OPK, ODK, and unit tests.

See the file CHANGELOG.md for details.
2023-03-09 18:06:07 -08:00
Fred Gylys-Colwell
0a16cb2594 Version 17 plus test updates and OPK v17
This is the first public release of OPK v17.
See the file CHANGELOG.md for details.
2022-04-13 19:36:27 -07:00
Fred Gylys-Colwell
044a89ef55 Initial v17 Release
Headers and Unit tests have been updated to match the v17 spec.

Documentation can be found here:
https://developers.devsite.corp.google.com/widevine/drm/client/oemcrypto/v17
2021-12-04 01:13:15 +00:00
Fred Gylys-Colwell
bb16924e69 Update Unit tests and reference code
This patch adds a suite of tests for OEMCrypto that verifying buffer
overflow and off-by-one errors. The reference code has also been
updated to pass these tests.

The ODK library and the OEMCrypto API have not changed since the
release of version 16.4.
2021-01-25 19:51:10 -08:00
Fred Gylys-Colwell
016c2970ac Update unit tests to 2020-03-27 version
This CL updates the following:
- Some robustness improvements to the ODK library.
- Unit tests assume that license release does not have a core message.
- Added version string to unit tests.

The version string of the unit tests is now:
OEMCrypto unit tests for API 16.2. Tests last updated 2020-03-27
2020-03-30 18:51:33 -07:00
Fred Gylys-Colwell
9fa2cbdb67 OEMCrypto v16.1 -- update ODK
This CL updates the ODK library to address review comments.
2020-02-01 11:56:34 -08:00
Fred Gylys-Colwell
4de11d11e8 Initial v16 ODK Library
This commit has the initial ODK library.  Partners may use this code
to begin integrating the ODK library into their platform.  The
functionality is not complete, but this should help partners get an
early start playing with build files.
2019-10-04 16:47:20 -07:00
Fred Gylys-Colwell
ded4417dd4 OEMCrypto v15.2
See the file docs/Widevine_Modular_DRM_Version_15_Delta.pdf for
changes since version 15.1.
2019-05-08 13:37:45 -07:00
Fred Gylys-Colwell
88d6b53ba3 Improve OEMCrypto unit tests
This change updates the unit tests to have more comments so that it is
more clear what went wrong if a test fails.

Also, some utility code has been changed to make it easier to support
new platforms and read/write locks.

Also, the reference code has had some refactoring added to make it
easier for Widevine to test CDM code.  There should be no
functionality differences in the reference code.

Also, in the main API doc, there was an obsolete paragraph in the
description of the threading model.  This paragraph has been removed.
2019-03-15 13:24:46 -07:00
Fred Gylys-Colwell
e7d6da8d24 OEMCrypto v15.1 Updates
This CL updates documentation, reference code, and unit tests to match
the OEMCrypto v15.1 API.

1. The design for the Full Decrypt Path Testing application has
changed. Instead of reading hashes from an external file, it will use
a single key frame and modify it to match the desired size.  The test
application will then compute the hash and encrypt the frame.  For
OEMCrypto, this means that there will not be a call to
OEMCrypto_InitializeDecryptHash before the frame and
OEMCrypto_SetDecryptHash after the frame. Instead, there will be a
single call to OEMCrypto_SetDecryptHash before the frame. The function
OEMCrypto_InitializeDecryptHash will not be used.

2. The "Shared License" feature is not used by any production
server. This functionality is no longer required and OEMCrypto may
reject licenses with a nonzero bit 23 in the key control block.
2019-01-04 12:00:00 -08:00
Fred Gylys-Colwell
4b95763c6a Unit tests and reference code for v15
This CL updates the unit tests and reference code to support OEMCrypto
API v15.
2018-11-14 17:19:35 -08:00
Fred Gylys-Colwell
1655d891de Updates to ref code and unit tests
This CL updates has several changes.

The document WidevineModularDRMSecurityIntegrationGuideforCENC_v14.pdf
had an incorrect definition of the PST_Report structure.  The header
file had the correct definition. This has been updated and the version
number of the document was rolled to 14.1

The unit tests TwoHundredEntries has been modifed to make sure that if
the usage table is full, then OEMCrypto will return the error
OEMCrypto_ERROR_INSUFFICIENT_RESOURCES.  This is important for the CDM
layer to correctly delete old licenses and secure stops when this
happens.

Several other unit tests covering corner cases have been added.

The reference code has been cleaned up a bit.  Some logging that might
be dangerous has been removed.
2018-09-19 20:32:32 -07:00
Fred Gylys-Colwell
61f02edda4 Refactor
This renames the "mock" code to "reference" because that's really what
it is.  Also, some code has been moved from the CDM repo to a common
utility directory so that it can be included here, and the oemcrypto
unit tests can now be built without having access to a current CDM
repo.

There are no functionality changes in this CL.
2018-05-10 15:28:20 -07:00