Having the integration docs in the tree helps with version
management and distribution to partners.
bug: 8698129
Change-Id: I4c1e4f5902457815eaf58e6bd5313951d2b773ca
The CDM may use the eventing mechanism or the error return-value mechanism to
notify callers of errors that the Java APIs expect to be passed via the
eventing mechanism. We need to detect when an error has been synchronously
returned via the error return value of a method and fire an appropriate event.
bug: 8620943
Merge of https://widevine-internal-review.googlesource.com/#/c/5261/
from the Widevine CDM repo.
Change-Id: I2055854dc960845dc775b1fceab9d0850b63fbb5
The test for refresh keys with a stale nonce was not performed
correctly. It was supposed to test that RefreshKeys fails when the
nonce is stale. However, the nonce in the test was not stale. The reference
implementation did fail, but it failed because the control bits were
in network byte order instead of host byte order. Both of these
problems are fixed in this CL.
This CL changes test code only. The change has already been
communicated with Qualcomm.
bug: 8621521
Merge of https://widevine-internal-review.googlesource.com/#/c/5263/
from Widevine CDM repo.
Change-Id: I0821eff914d1680481006b9b68d49e8f2c5b9cd8
This new format uses the SignedProvisioningMessage proto buffer definition so
the client does not have to parse the message and signature from the JSON
response separately. This change makes it more flexible to extend the fields
in the SignedProvisioningMessage.
Adds Apiary API key to the default provisioning server url.
Fixes a bug in GetCertRequestResponse() where a LOGD() can generate a
fault if there is no response data.
Bug: 8620943
Merge of https://widevine-internal-review.googlesource.com/#/c/5230/
from Widevine CDM repository
Change-Id: I4945ee2d16f88666e41edf990dd07102a9271105
The Java APIs only easily expose getting the PSSH data blob, not the full PSSH
box. So that apps do not have to do extra work, wrapping the PSSH data blob in a
PSSH box again, we do it for them in the DrmPlugin.
Includes requisite changes to the Unit tests
Bug: 8584241
Merge of https://widevine-internal-review.googlesource.com/#/c/5142/
from the Widevine CDM repository.
Change-Id: Ifb5910dd52380e1b591ecdf1e4273c8d9f3294cc
bug: 8621521
This fixes a problem where insecure audio buffers were being
passed incorrectly as secure buffers to the trusted
environment's OEMCrypto_DecryptCTR.
This is a merge of the following changes from the widevine
git repository to android git repository:
https://widevine-internal-review.googlesource.com/#/c/5163/2
Allow selection of secure/non-secure buffers
https://widevine-internal-review.googlesource.com/#/c/5164/
Pass Secure Buffer Request to CDM
Change-Id: Iec1192a216305c6cf92c359b15b148eccc6ce6ce
Upgrade to version 2.1 of license protocol in OEMCrypto.
related-to-bug: 8621521
Merge of https://widevine-internal-review.googlesource.com/#/c/4952/
from Widevine CDM repository to android repository.
Change-Id: I0d85dae1981b7525ab17aec5f21cf668d078bf47
WVCryptoPlugin was not properly implementing part of its responsibilities to
AES-CTR in ISO-CENC. Specifically, it was not incrementing the IV after each
block.
Also, I have greatly expanded the unit tests for decrypt() to catch more edge
cases.
This change fixes the two failing test vectors in the Java integration tests.
Copied from https://widevine-internal-review.googlesource.com/#/c/5123/2
Bug: 8656421
Change-Id: If935edbf01068f5b0d5254b4e657057ef57d8fcf
OEMCrypto was being initialized on session creation. Calls to
get property information may occur before any sessions are
created. This resulted in calls to OEMCrypto before a call to
OEMCrypto_Initialize which caused a segfault.
OEMCrypto initialization is now verified before any other calls are made.
Unit tests have been modified to verify that this indeed works.
bug: 8660973
Change-Id: I1b14fa8ad2e88750776b28715a48d8a1d1c57089
Removes the status query from WVCryptoPlugin's decrypt method. It was not
providing any additional security since it was not cryptographically secure,
and querying status is an expensive operation on some devices. It should not
be done on a frequent basis, such as in every decrypt call.
Bug: 8667365
Merge of https://widevine-internal-review.googlesource.com/#/c/5121/
from widevine CDM repository to android repository.
Change-Id: Id9a877c5655cb8dbee7e97f983d43ec2ab6acc6e
When non-encrypted buffers are sent to OEMCrypto_DecryptCTR,
the cdm is overriding the buffer type to be non-secure. This
is incorrect, the encrypted state is not the same as the buffer
protection level.
This change removes the special case override that should not
be there.
bug: 8621521
Change-Id: I705b1dc82b393305b9e6bdcb524d6b8126f58d3d
Does not affect any production code, only unit tests
Makes the end-to-end license/decrypt test compatible with the
fix for b/8604068 (merged).
related-to-bug: 8604068
Merge of https://widevine-internal-review.googlesource.com/#/c/4982/
from widevine cdm repository to android repository.
Change-Id: Ic5739c9de0cd385a672311ec87b9a475e367121a
Now that MediaErrors.h has errors for some of the conditions we were using
custom error codes for previously, we should switch to using the standard
error codes in order to get better error reporting to the app.
Bug: 8621516
This is a merge of https://widevine-internal-review.googlesource.com/#/c/5040/
from widevine cdm repo to android repo.
Change-Id: I111a8825fa8fd8186a0d535cf19a7b08d9f35aee
Adds a new property to the CDM's QueryStatus called QUERY_KEY_SYSTEM_ID that
contains the System ID. (as read from OEMCrypto_GetKeyData) Adds a new
property to the DrmPlugin (cleverly named "systemId") that allows the app to
query for this. Also adds unit tests.
Also changes the Device ID getter in crypto_engine.cpp to return a failure
instead of an empty ID.
Bug: 8621632
Merge of https://widevine-internal-review.googlesource.com/#/c/5010/ from
widevine cdm repository to android repository.
Change-Id: I8f309af18487c499e8ce25e829059e45623ea4dc
Reworks the error message reporting that was just added to WVCryptoPlugin so
that it reports detailed error messages to the app (because the error codes
cannot be relied upon to reach the app intact) and so that it always reports
custom errors so that the detailed error message is passed to the app.
Bug: 8621516
Merge of https://widevine-internal-review.googlesource.com/#/c/5031/ from
widevine git to android git.
Change-Id: Id7a517fb6e4e772ffea4c779a8ee52b357345a08