Merge "Add API for device provisioning server certificate"
This commit is contained in:
@@ -17,6 +17,10 @@ class CdmClientPropertySet {
|
||||
virtual bool use_privacy_mode() const = 0;
|
||||
virtual const std::string& service_certificate() const = 0;
|
||||
virtual void set_service_certificate(const std::string& cert) = 0;
|
||||
virtual const std::string& device_provisioning_service_certificate() const
|
||||
= 0;
|
||||
virtual void set_device_provisioning_service_certificate(
|
||||
const std::string& cert) = 0;
|
||||
virtual bool is_session_sharing_enabled() const = 0;
|
||||
virtual uint32_t session_sharing_id() const = 0;
|
||||
virtual void set_session_sharing_id(uint32_t id) = 0;
|
||||
|
||||
@@ -63,6 +63,10 @@ class Properties {
|
||||
std::string* service_certificate);
|
||||
static bool SetServiceCertificate(const CdmSessionId& session_id,
|
||||
const std::string& service_certificate);
|
||||
static bool GetDeviceProvisioningServiceCertificate(
|
||||
const CdmSessionId& session_id, std::string* service_certificate);
|
||||
static bool SetDeviceProvisioningServiceCertificate(
|
||||
const CdmSessionId& session_id, const std::string& service_certificate);
|
||||
static bool UsePrivacyMode(const CdmSessionId& session_id);
|
||||
static uint32_t GetSessionSharingId(const CdmSessionId& session_id);
|
||||
|
||||
|
||||
@@ -41,6 +41,11 @@ class UsagePropertySet : public CdmClientPropertySet {
|
||||
virtual bool use_privacy_mode() const { return false; }
|
||||
virtual const std::string& service_certificate() const { return empty_; }
|
||||
virtual void set_service_certificate(const std::string&) {}
|
||||
virtual const std::string& device_provisioning_service_certificate() const {
|
||||
return empty_;
|
||||
}
|
||||
virtual void set_device_provisioning_service_certificate(const std::string&) {
|
||||
}
|
||||
virtual bool is_session_sharing_enabled() const { return false; }
|
||||
virtual uint32_t session_sharing_id() const { return 0; }
|
||||
virtual void set_session_sharing_id(uint32_t /* id */) {}
|
||||
|
||||
@@ -80,6 +80,28 @@ bool Properties::SetServiceCertificate(const CdmSessionId& session_id,
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Properties::GetDeviceProvisioningServiceCertificate(
|
||||
const CdmSessionId& session_id, std::string* service_certificate) {
|
||||
const CdmClientPropertySet* property_set =
|
||||
GetCdmClientPropertySet(session_id);
|
||||
if (NULL == property_set) {
|
||||
return false;
|
||||
}
|
||||
*service_certificate = property_set->device_provisioning_service_certificate();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Properties::SetDeviceProvisioningServiceCertificate(
|
||||
const CdmSessionId& session_id, const std::string& service_certificate) {
|
||||
CdmClientPropertySet* property_set =
|
||||
GetCdmClientPropertySet(session_id);
|
||||
if (NULL == property_set) {
|
||||
return false;
|
||||
}
|
||||
property_set->set_device_provisioning_service_certificate(service_certificate);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Properties::UsePrivacyMode(const CdmSessionId& session_id) {
|
||||
const CdmClientPropertySet* property_set =
|
||||
GetCdmClientPropertySet(session_id);
|
||||
|
||||
@@ -209,6 +209,13 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
virtual void set_service_certificate(const std::string& cert) {
|
||||
service_certificate_ = cert;
|
||||
}
|
||||
virtual const std::string& device_provisioning_service_certificate() const {
|
||||
return device_provisioning_service_certificate_;
|
||||
}
|
||||
virtual void set_device_provisioning_service_certificate(
|
||||
const std::string& cert) {
|
||||
device_provisioning_service_certificate_ = cert;
|
||||
}
|
||||
virtual bool use_privacy_mode() const { return use_privacy_mode_; }
|
||||
virtual bool is_session_sharing_enabled() const {
|
||||
return is_session_sharing_enabled_;
|
||||
@@ -234,6 +241,7 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
std::string app_id_;
|
||||
std::string security_level_;
|
||||
std::string service_certificate_;
|
||||
std::string device_provisioning_service_certificate_;
|
||||
bool use_privacy_mode_;
|
||||
bool is_session_sharing_enabled_;
|
||||
uint32_t session_sharing_id_;
|
||||
|
||||
@@ -889,6 +889,13 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
virtual void set_service_certificate(const std::string& cert) {
|
||||
service_certificate_ = cert;
|
||||
}
|
||||
virtual const std::string& device_provisioning_service_certificate() const {
|
||||
return device_provisioning_service_certificate_;
|
||||
}
|
||||
virtual void set_device_provisioning_service_certificate(
|
||||
const std::string& cert) {
|
||||
device_provisioning_service_certificate_ = cert;
|
||||
}
|
||||
virtual bool use_privacy_mode() const { return use_privacy_mode_; }
|
||||
virtual bool is_session_sharing_enabled() const {
|
||||
return is_session_sharing_enabled_;
|
||||
@@ -914,6 +921,7 @@ class TestWvCdmClientPropertySet : public CdmClientPropertySet {
|
||||
std::string app_id_;
|
||||
std::string security_level_;
|
||||
std::string service_certificate_;
|
||||
std::string device_provisioning_service_certificate_;
|
||||
bool use_privacy_mode_;
|
||||
bool is_session_sharing_enabled_;
|
||||
uint32_t session_sharing_id_;
|
||||
|
||||
@@ -215,6 +215,16 @@ class WVDrmPlugin : public android::DrmPlugin,
|
||||
mServiceCertificate = serviceCertificate;
|
||||
}
|
||||
|
||||
virtual const std::string& device_provisioning_service_certificate() const {
|
||||
// Android does not support service certificates for provisioning.
|
||||
return mEmptyString;
|
||||
}
|
||||
|
||||
virtual void set_device_provisioning_service_certificate(
|
||||
const std::string& ) {
|
||||
// Ignore. Android does not support service certificates for provisioning
|
||||
}
|
||||
|
||||
virtual bool is_session_sharing_enabled() const {
|
||||
return mShareKeys;
|
||||
}
|
||||
@@ -248,6 +258,7 @@ class WVDrmPlugin : public android::DrmPlugin,
|
||||
bool mShareKeys;
|
||||
uint32_t mSessionSharingId;
|
||||
std::string mAppId;
|
||||
const std::string mEmptyString;
|
||||
} mPropertySet;
|
||||
|
||||
android::sp<wvcdm::WvContentDecryptionModule> const mCDM;
|
||||
|
||||
Reference in New Issue
Block a user