Call SelectKey regardless of entitled key mapping

Bug: b/129426820
Test: CE CDM, Android unit/integration, Linux, ExoPlayer key rotation
playback with modmock and L3
Merge of http://go/wvgerrit/77608

http://go/ag/6543431 modified the entitlement key session to select the
entitled content key if it had just been loaded in so that there's a
valid current content key loaded in OEMCrypto. However, this did not
account for the case where you have two entitlement to entitled key
pairs. If OEMCrypto does not select the key when you switch from the
first pair to the second pair back to the first pair, OEMCrypto will
still be using the key from the second pair during decrypt. This CL
changes it so we SelectKey each time to make sure that we update the
current content key.

Change-Id: I764ec13deb87e14188707b811a44eff132eeb5a1
This commit is contained in:
Srujan Gaddam
2019-04-29 14:04:53 -07:00
parent 3e5ade22f9
commit fce75c295b

View File

@@ -75,11 +75,8 @@ OEMCryptoResult EntitlementKeySession::SelectKey(const std::string& key_id,
current_loaded_content_keys_[entitled_content_key.entitlement_key_id()] =
key_id;
return ContentKeySession::SelectKey(key_id, cipher_mode);
} else {
return OEMCrypto_SUCCESS;
}
return ContentKeySession::SelectKey(key_id, cipher_mode);
}
OEMCrypto_EntitledContentKeyObject EntitlementKeySession::MakeOecEntitledKey(