Throw DeniedByServerException when provisioning detects a revoked device

[ Merge of http://go/wvgerrit/117267 ]

The client will now advertise the ability to handle provisioning errors
by a minor version updated to the provisioning protocol version.
The provisioning service may indicate that the individual device
is revoked or all devices with the same make/model have been revoked.

If the provisoning service has not been upgraded, the protocol version
field in the request will be ignored. The provisioning service/SDK
will respond with an HTTP 400 error to a provisioning request from
a revoked device.

Bug: 174174765
Test: WvCdmRequestLicenseTest.ProvisioningRevocationTest,
      WV unit/integration tests
Change-Id: I5ff61496685f310de6704a90452b8b76b3505cbb
This commit is contained in:
Rahul Frias
2021-02-18 03:27:27 -08:00
parent 41ecde78cc
commit 64d5b38ff5
7 changed files with 149 additions and 1 deletions

View File

@@ -299,10 +299,11 @@ enum {
kRestoreOfflineLicenseError3 = ERROR_DRM_VENDOR_MIN + 314,
kNoSrmVersion = ERROR_DRM_VENDOR_MIN + 315,
kCertProvisioningResponseError9 = ERROR_DRM_VENDOR_MIN + 316,
kCertProvisioningResponseError10 = ERROR_DRM_VENDOR_MIN + 317,
// This should always follow the last error code.
// The offset value should be updated each time a new error code is added.
kErrorWVDrmMaxErrorUsed = ERROR_DRM_VENDOR_MIN + 316,
kErrorWVDrmMaxErrorUsed = ERROR_DRM_VENDOR_MIN + 317,
// Used by crypto test mode
kErrorTestMode = ERROR_DRM_VENDOR_MAX,