Add policy handling for v16

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

This allows for handling of timer and clock values as supported when both
the license service and the OEMCrypto on the device support v16.
A flag based on a value in the SignedResponse license indicates
whether this support should be enabled. A new class PolicyTimerV16
performs the duration value evaluation.

Bug: 139372190
Test: Android WV unit/integration tests
Change-Id: Iacbbd51ad26c9f29cb5418ff832f8822982644b7
This commit is contained in:
Rahul Frias
2020-02-13 02:43:56 -08:00
parent 68587be8a0
commit c033892f2a
12 changed files with 1961 additions and 178 deletions

View File

@@ -944,7 +944,7 @@ CdmResponseType CdmLicense::RestoreLicenseForRelease(
// If the policy engine already has keys, they will now expire.
// If the policy engine does not already have keys, this will not add any.
policy_engine_->SetLicenseForRelease(license);
policy_engine_->SetLicenseForRelease(license, supports_core_messages());
return NO_ERROR;
}
@@ -1106,7 +1106,7 @@ CdmResponseType CdmLicense::HandleContentKeyResponse(
it != key_array.end(); ++it) {
loaded_keys_.insert(it->key_id());
}
policy_engine_->SetLicense(license);
policy_engine_->SetLicense(license, supports_core_messages());
}
return resp;
}
@@ -1135,7 +1135,7 @@ CdmResponseType CdmLicense::HandleEntitlementKeyResponse(
// Save the entitlement keys for future use to handle key changes.
entitlement_keys_.CopyFrom(license.key());
policy_engine_->SetLicense(license);
policy_engine_->SetLicense(license, supports_core_messages());
return HandleNewEntitledKeys(wrapped_keys_);
}