Update drm_certificate.proto
[ Merge of http://go/wvgerrit/118563 ] Sync with the latest version of drm_certificate.proto to add in certificate expiry time. Add in signed_drm_certificate.proto and remove messages from device_certificate.proto. SignedDrmDeviceCertificate and DrmDeviceCertificate are now named SignedDrmCertificate and DrmCertificate. This necessitated non-proto changes. Bug: 169740403 Test: WV unit/integration tests Change-Id: Ie5969ac7217a25eb075a41df59b77da2becd4545
This commit is contained in:
@@ -111,12 +111,12 @@ namespace wvcdm {
|
||||
// Protobuf generated classes.
|
||||
using video_widevine::ClientIdentification_ClientCapabilities;
|
||||
using video_widevine::ClientIdentification_NameValue;
|
||||
using video_widevine::DrmDeviceCertificate;
|
||||
using video_widevine::DrmCertificate;
|
||||
using video_widevine::EncryptedClientIdentification;
|
||||
using video_widevine::ProvisioningOptions;
|
||||
using video_widevine::ProvisioningRequest;
|
||||
using video_widevine::ProvisioningResponse;
|
||||
using video_widevine::SignedDrmDeviceCertificate;
|
||||
using video_widevine::SignedDrmCertificate;
|
||||
using video_widevine::SignedProvisioningMessage;
|
||||
using video_widevine::
|
||||
SignedProvisioningMessage_ProvisioningProtocolVersion_VERSION_1_1;
|
||||
@@ -425,7 +425,7 @@ CdmResponseType CertificateProvisioning::HandleProvisioningResponse(
|
||||
const CdmSecurityLevel security_level = crypto_session_->GetSecurityLevel();
|
||||
crypto_session_->Close();
|
||||
|
||||
// This is the entire certificate (SignedDrmDeviceCertificate).
|
||||
// This is the entire certificate (SignedDrmCertificate).
|
||||
const std::string& device_cert_data =
|
||||
provisioning_response.device_certificate();
|
||||
|
||||
@@ -436,12 +436,12 @@ CdmResponseType CertificateProvisioning::HandleProvisioningResponse(
|
||||
}
|
||||
|
||||
// Need to parse cert for key type.
|
||||
SignedDrmDeviceCertificate signed_device_cert;
|
||||
SignedDrmCertificate signed_device_cert;
|
||||
if (!signed_device_cert.ParseFromString(device_cert_data)) {
|
||||
LOGE("Failed to parse signed DRM certificate");
|
||||
return CERT_PROVISIONING_RESPONSE_ERROR_9;
|
||||
}
|
||||
DrmDeviceCertificate device_cert;
|
||||
DrmCertificate device_cert;
|
||||
if (!device_cert.ParseFromString(signed_device_cert.drm_certificate())) {
|
||||
LOGE("Failed to parse DRM certificate");
|
||||
return CERT_PROVISIONING_RESPONSE_ERROR_9;
|
||||
@@ -451,12 +451,12 @@ CdmResponseType CertificateProvisioning::HandleProvisioningResponse(
|
||||
private_key.set_type(CryptoWrappedKey::kRsa);
|
||||
} else {
|
||||
switch (device_cert.algorithm()) {
|
||||
case DrmDeviceCertificate::RSA:
|
||||
case DrmCertificate::RSA:
|
||||
private_key.set_type(CryptoWrappedKey::kRsa);
|
||||
break;
|
||||
case DrmDeviceCertificate::ECC_SECP256R1:
|
||||
case DrmDeviceCertificate::ECC_SECP384R1:
|
||||
case DrmDeviceCertificate::ECC_SECP521R1:
|
||||
case DrmCertificate::ECC_SECP256R1:
|
||||
case DrmCertificate::ECC_SECP384R1:
|
||||
case DrmCertificate::ECC_SECP521R1:
|
||||
private_key.set_type(CryptoWrappedKey::kEcc);
|
||||
break;
|
||||
default:
|
||||
@@ -498,25 +498,24 @@ bool CertificateProvisioning::ExtractDeviceInfo(
|
||||
}
|
||||
|
||||
// Get serial number and system ID from certificate
|
||||
SignedDrmDeviceCertificate signed_drm_device_certificate;
|
||||
if (!signed_drm_device_certificate.ParseFromString(device_certificate) ||
|
||||
!signed_drm_device_certificate.has_drm_certificate()) {
|
||||
SignedDrmCertificate signed_drm_certificate;
|
||||
if (!signed_drm_certificate.ParseFromString(device_certificate) ||
|
||||
!signed_drm_certificate.has_drm_certificate()) {
|
||||
LOGE("Failed to parse signed DRM device certificate");
|
||||
return false;
|
||||
}
|
||||
DrmDeviceCertificate drm_device_certificate;
|
||||
if (!drm_device_certificate.ParseFromString(
|
||||
signed_drm_device_certificate.drm_certificate()) ||
|
||||
(drm_device_certificate.type() !=
|
||||
video_widevine::DrmDeviceCertificate::DRM_USER_DEVICE)) {
|
||||
DrmCertificate drm_certificate;
|
||||
if (!drm_certificate.ParseFromString(
|
||||
signed_drm_certificate.drm_certificate()) ||
|
||||
(drm_certificate.type() != video_widevine::DrmCertificate::DEVICE)) {
|
||||
LOGE("Failed to parse DRM device certificate message");
|
||||
return false;
|
||||
}
|
||||
if (serial_number != nullptr) {
|
||||
*serial_number = drm_device_certificate.serial_number();
|
||||
*serial_number = drm_certificate.serial_number();
|
||||
}
|
||||
if (system_id != nullptr) {
|
||||
*system_id = drm_device_certificate.system_id();
|
||||
*system_id = drm_certificate.system_id();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user