Allow server to send license with larger ODK_MAX_NUM_KEYS
PiperOrigin-RevId: 538676411 Merged from https://widevine-internal-review.googlesource.com/175915 Change-Id: Iadef2115fe3f9001034223e647cbfa6228484281
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "fuzzing/odk_fuzz_helper.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "core_message_types.h"
|
||||
#include "odk.h"
|
||||
@@ -133,8 +134,26 @@ bool kdo_serialize_LicenseResponse(const ODK_ParseLicense_Args* args,
|
||||
nonce_values.nonce, nonce_values.session_id, counter_info};
|
||||
std::string core_request_sha_256(
|
||||
reinterpret_cast<const char*>(args->request_hash), ODK_SHA256_HASH_SIZE);
|
||||
ODK_Packing_ParsedLicense parsed_license;
|
||||
parsed_license.enc_mac_keys_iv = parsed_lic.enc_mac_keys_iv;
|
||||
parsed_license.enc_mac_keys = parsed_lic.enc_mac_keys;
|
||||
parsed_license.pst = parsed_lic.pst;
|
||||
parsed_license.srm_restriction_data = parsed_lic.srm_restriction_data;
|
||||
parsed_license.license_type = parsed_lic.license_type;
|
||||
parsed_license.nonce_required = parsed_lic.nonce_required;
|
||||
parsed_license.timer_limits = parsed_lic.timer_limits;
|
||||
parsed_license.watermarking = parsed_lic.watermarking;
|
||||
parsed_license.dtcp2_required = parsed_lic.dtcp2_required;
|
||||
parsed_license.renewal_delay_base = parsed_lic.renewal_delay_base;
|
||||
parsed_license.key_array_length = parsed_lic.key_array_length;
|
||||
std::vector<OEMCrypto_KeyObject> key_array;
|
||||
size_t i;
|
||||
for (i = 0; i < parsed_lic.key_array_length; i++) {
|
||||
key_array.push_back(parsed_lic.key_array[i]);
|
||||
}
|
||||
parsed_license.key_array = key_array.data();
|
||||
return serialize::CreateCoreLicenseResponse(
|
||||
CoreMessageFeatures::kDefaultFeatures, parsed_lic, core_request,
|
||||
CoreMessageFeatures::kDefaultFeatures, parsed_license, core_request,
|
||||
core_request_sha_256, oemcrypto_core_message);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user