Load Certificate to Confirm Provisioning

am: db0911df54

Change-Id: I1f6170281f2b6ec950b80f2d1e8f368bed20773d
This commit is contained in:
John W. Bruce
2018-03-29 01:58:08 +00:00
committed by android-build-merger

View File

@@ -854,12 +854,20 @@ CdmResponseType CdmEngine::HandleProvisioningResponse(
} }
bool CdmEngine::IsProvisioned(CdmSecurityLevel security_level) { bool CdmEngine::IsProvisioned(CdmSecurityLevel security_level) {
DeviceFiles handle(file_system_); // To validate whether the given security level is provisioned, we attempt to
if (!handle.Init(security_level)) { // initialize a CdmSession. This verifies the existence of a certificate and
LOGE("CdmEngine::IsProvisioned: unable to initialize device files"); // attempts to load it. If this fails, initialization will return an error.
return false; UsagePropertySet property_set;
property_set.set_security_level(
security_level == kSecurityLevelL3 ? kLevel3 : kLevelDefault);
CdmSession session(file_system_, metrics_.AddSession());
CdmResponseType status = session.Init(&property_set);
if (NO_ERROR != status) {
LOGE("CdmEngine::IsProvisioned: CdmSession::Init returned %lu", status);
} }
return handle.HasCertificate(); return status == NO_ERROR;
} }
CdmResponseType CdmEngine::Unprovision(CdmSecurityLevel security_level) { CdmResponseType CdmEngine::Unprovision(CdmSecurityLevel security_level) {