bug: 12702350 Squashed commit of these CLs from the widevine cdm repo: Cast V2 cdm support https://widevine-internal-review.googlesource.com/#/c/9190/ Add CASTv2 Support to DrmPlugin https://widevine-internal-review.googlesource.com/#/c/9228/ Test for CastV2 authentication APIs https://widevine-internal-review.googlesource.com/9550 Change-Id: I6d66bc1bbd653db5542c68687b30b441dd20617f
44 lines
1.6 KiB
C++
44 lines
1.6 KiB
C++
// Copyright 2013 Google Inc. All Rights Reserved.
|
|
|
|
#ifndef CDM_BASE_CERTIFICATE_PROVISIONING_H_
|
|
#define CDM_BASE_CERTIFICATE_PROVISIONING_H_
|
|
|
|
#include "crypto_session.h"
|
|
#include "oemcrypto_adapter.h"
|
|
#include "wv_cdm_types.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
class CdmSession;
|
|
|
|
class CertificateProvisioning {
|
|
public:
|
|
CertificateProvisioning() : cert_type_(kCertificateWidevine) {};
|
|
~CertificateProvisioning() {};
|
|
|
|
// Provisioning related methods
|
|
CdmResponseType GetProvisioningRequest(SecurityLevel requested_security_level,
|
|
CdmCertificateType cert_type,
|
|
const std::string& cert_authority,
|
|
CdmProvisioningRequest* request,
|
|
std::string* default_url);
|
|
CdmResponseType HandleProvisioningResponse(CdmProvisioningResponse& response,
|
|
std::string* cert,
|
|
std::string* wrapped_key);
|
|
|
|
private:
|
|
void ComposeJsonRequestAsQueryString(const std::string& message,
|
|
CdmProvisioningRequest* request);
|
|
bool ParseJsonResponse(const CdmProvisioningResponse& json_str,
|
|
const std::string& start_substr,
|
|
const std::string& end_substr,
|
|
std::string* result);
|
|
CryptoSession crypto_session_;
|
|
CdmCertificateType cert_type_;
|
|
|
|
CORE_DISALLOW_COPY_AND_ASSIGN(CertificateProvisioning);
|
|
};
|
|
} // namespace wvcdm
|
|
|
|
#endif // CDM_BASE_CERTIFICATE_PROVISIONING_H_
|