Add CHANGELOG for OPK v19.0 release
Change-Id: I1fd79428c357b8e0f9fd2a4ec857d7b3489eea64
This commit is contained in:
committed by
Robert Shih
parent
4c9a8e32a5
commit
d89faef0f3
@@ -2,6 +2,66 @@
|
|||||||
|
|
||||||
[TOC]
|
[TOC]
|
||||||
|
|
||||||
|
## [Version 19.0][v19.0]
|
||||||
|
|
||||||
|
This is the initial release of OPK v19.0, which implements OEMCrypto v19.0.
|
||||||
|
|
||||||
|
### OEMCrypto v19
|
||||||
|
|
||||||
|
All features outlined in the v19 Delta Document are supported in this release:
|
||||||
|
|
||||||
|
- License Release
|
||||||
|
- Multiple Entitled Sessions per License Session
|
||||||
|
- Provisioning 4 Manufacturing Updates
|
||||||
|
- Support License Protocol v2.2
|
||||||
|
- Derived Key Context Computed Inside OEMCrypto
|
||||||
|
- Refactor OEMCrypto_SetDecryptHash
|
||||||
|
|
||||||
|
### Other changes
|
||||||
|
|
||||||
|
- OEMCrypto_BuildInformation() previously produced JSON that had a trailing
|
||||||
|
comma after the last entry. This passes some JSON parsing libraries such as
|
||||||
|
`jsmn`, but is ultimately incorrect. This has been fixed.
|
||||||
|
- Changed key sanity checks in the wtpi_reference code to be constant time.
|
||||||
|
- Memory containing keys is now erased after the keys are used.
|
||||||
|
- `FACTORY_BUILD_ONLY` macro added to separate OEMCrypto functions that are only
|
||||||
|
intended to be used in the factory, eg OEMCrypto_InstallKeyboxOrOEMCert().
|
||||||
|
- Added support for Provisioning 4 alternative signing models. Keybox-based
|
||||||
|
signatures are fully supported, and externally generated X509 signatures are
|
||||||
|
planned for a future update.
|
||||||
|
- Restrict OEMCrypto_GenerateRSASignature() to only allow Cast certificates.
|
||||||
|
|
||||||
|
### OP-TEE port changes
|
||||||
|
|
||||||
|
- Added an option to generate an ECC keypair instead of RSA. Use the
|
||||||
|
`OEMCRYPTO_GEN_KEYPAIR_TYPE` make variable at compilation time to specify which
|
||||||
|
method to use.
|
||||||
|
- Modified the key derivation step (device unique key -> asymmetric key pair)
|
||||||
|
in Provisioning 4 CoseSign1 operations to use a NIST standard KDF process.
|
||||||
|
Implementers can opt out of this by using the `DEVICEKEY_NON_NIST_KDF` make
|
||||||
|
variable during compilation, which may be useful for existing devices in the
|
||||||
|
field that are upgrading from older OPK versions tha used a non-standard key
|
||||||
|
derivation.
|
||||||
|
- Renamed `der_parse` files to `crypto_util_*` to better reflect their purpose.
|
||||||
|
- Renamed `wtpi_persistent_storage_layer2.c` to
|
||||||
|
`wtpi_persistent_storage_layer1.c` to better reflect its purpose.
|
||||||
|
- Removed `TEE_DATA_FLAG_OVERWRITE` flag from persistent storage read
|
||||||
|
operations, to avoid accidentally creating empty files and overwriting existing
|
||||||
|
files when encountering an error.
|
||||||
|
- Fixed bug in `WTPI_GetBootCertificateChain()` where ECC keys that are smaller
|
||||||
|
than 32 bytes cause an error during parsing.
|
||||||
|
- Update OEMCrypto_GetDeviceInformation() implementation to include all
|
||||||
|
required fields to pass device info validation tests. Field contents still need
|
||||||
|
to be filled in by implementers for platform specific parameters such as device
|
||||||
|
brand, bootloader unlock state, etc.
|
||||||
|
|
||||||
|
### Known issues
|
||||||
|
|
||||||
|
- The OP-TEE port does not yet support Provisioning 4 stage 2, or Provisioning
|
||||||
|
4 alternate signing models. Implementers may choose to write their own
|
||||||
|
functionality for these features using the BoringSSL-based wtpi_reference as
|
||||||
|
a guide.
|
||||||
|
|
||||||
## [Version 18.4][v18.4]
|
## [Version 18.4][v18.4]
|
||||||
|
|
||||||
Version 18.4 includes the reference implementation in OPK to support MediaCAS,
|
Version 18.4 includes the reference implementation in OPK to support MediaCAS,
|
||||||
@@ -479,3 +539,4 @@ Public release for OEMCrypto API and ODK library version 16.4.
|
|||||||
[v18.1]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.1
|
[v18.1]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.1
|
||||||
[v18.3]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.3
|
[v18.3]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.3
|
||||||
[v18.4]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.4
|
[v18.4]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v18.4
|
||||||
|
[v19.0]: https://widevine-partner.googlesource.com/oemcrypto/+/refs/tags/v19.0
|
||||||
|
|||||||
Reference in New Issue
Block a user