Separate OEM unprovisioning from DRM unprovisioing.
[ Cherry-pick of v19 http://go/wvgerrit/219330 ] [ Merge of http://go/wvgerrit/219454 ] For two-staged provisioning devices, the behavior of CdmEngine::Unprovision() varied by platform and context. For production Android, unprovisioning would remove both; for production and testing CE CDM it would only remove DRM provisioning; for testing Android may remove both or remove everything (both certs and licenses). This behavior was not documented, making use of the CdmEngine::Unprovision() API rather unpredictable. This change attempts to document the unpredictable behavior and add a way to explicitly remove the OEM certificate in the core code. The new CdmEngine::UnprovisionOemCert() will remove only the OEM certificate. Bug: 391469176 Test: run_x86_64_tests Test: WvTs on oriole Change-Id: Ib2f6ef61f45b5320c71d7e8e8460f7fe8e0e2248
This commit is contained in:
@@ -212,6 +212,15 @@ class CdmEngine {
|
||||
// system. This will force the device to reprovision itself.
|
||||
virtual CdmResponseType Unprovision(CdmSecurityLevel security_level);
|
||||
|
||||
// Remove the system's REE-side OEM certificate for the specified
|
||||
// |security_level|.
|
||||
// Only effects two-stage provisioning devices which have an OEM cert
|
||||
// in the REE side file system.
|
||||
// Removing the OEM certificate will cause all DRM certificates tied to
|
||||
// the OEM certificate to be invalidated and unloadable to future
|
||||
// sessions.
|
||||
virtual CdmResponseType UnprovisionOemCert(CdmSecurityLevel security_level);
|
||||
|
||||
// Return the list of key_set_ids stored on the current (origin-specific)
|
||||
// file system.
|
||||
virtual CdmResponseType ListStoredLicenses(
|
||||
|
||||
Reference in New Issue
Block a user