Detect when unable to meet policy requirements
[ Merge of http://go/wvgerrit/25781 ] The security level (software/hardware, decryption/decode) in the policy that specified how the key was to be used was not being respected for L3. Playback would either continue or a vendor specific error would be thrown. If the device cannot use the key as permitted by the policy CryptoException#ERROR_INSUFFICIENT_OUTPUT_PROTECTION will be thrown. Test: Verified by WV unit+integration tests. Verified by WidevineDashPolicyTests Verified by WidevineDashPolicyTests#testL3SoftwareSecureDecoderRequired, testL3HardwareSecureCryptoRequired, testL3HardwareSecureDecodeRequired, testL3SecureVideoPathRequired. b/31913737 b/31913439 Change-Id: Ibfc7f3dd6fc7264e8cf9b0d33f6f8d619eed6c00
This commit is contained in:
@@ -34,6 +34,10 @@ class PolicyEngine {
|
||||
// status is not calculated to avoid overhead in the decryption path.
|
||||
virtual bool CanDecryptContent(const KeyId& key_id);
|
||||
|
||||
// Verifies whether the policy allows use of the specified key of
|
||||
// a given security level for content decryption.
|
||||
virtual bool CanUseKey(const KeyId& key_id, CdmSecurityLevel security_level);
|
||||
|
||||
// OnTimerEvent is called when a timer fires. It notifies the Policy Engine
|
||||
// that the timer has fired and dispatches the relevant events through
|
||||
// |event_listener_|.
|
||||
|
||||
Reference in New Issue
Block a user