Revert "Cherry pick 18.4 changes to udc-widevine-dev"
This reverts commit 7186433edf.
Reason for revert: Build breakage - b/323194350
Change-Id: Ibba4f5289b8f0d5e835dfba9ceb1e601784af634
This commit is contained in:
committed by
Android (Google) Code Review
parent
7186433edf
commit
540c8dfd50
@@ -835,7 +835,9 @@ TEST_P(OEMCryptoLicenseTest, EntitledKeySessionMultipleKeySessionsAPI17) {
|
||||
session_.session_id(), &key_session_id_2);
|
||||
// For DRM, but not for CAS, we allow there to be only a single entitled
|
||||
// session.
|
||||
if (status == OEMCrypto_ERROR_TOO_MANY_SESSIONS) {
|
||||
if (!global_features.supports_cas &&
|
||||
(key_session_id_2 == key_session_id_1 ||
|
||||
status == OEMCrypto_ERROR_TOO_MANY_SESSIONS)) {
|
||||
GTEST_SKIP()
|
||||
<< "Skipping test because multiple entitled sessions not supported.";
|
||||
}
|
||||
@@ -1427,12 +1429,6 @@ INSTANTIATE_TEST_SUITE_P(TestAll, OEMCryptoLicenseOverflowTest,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeResponseLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t message_size, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->set_message_size(message_size);
|
||||
@@ -1442,12 +1438,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t message_size, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->set_core_message_size(message_size);
|
||||
@@ -1457,12 +1447,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t length, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().enc_private_key.length = length;
|
||||
@@ -1472,12 +1456,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyOffset) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t offset, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().enc_private_key.offset = offset;
|
||||
@@ -1488,12 +1466,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForOutOfRangeSubstringOffsetAndLengths(
|
||||
[](size_t response_message_length,
|
||||
ProvisioningRoundTrip* provisioning_messages) {
|
||||
@@ -1507,12 +1479,6 @@ TEST_F(
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyOffset) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForOutOfRangeSubstringOffsetAndLengths(
|
||||
[](size_t response_message_length,
|
||||
ProvisioningRoundTrip* provisioning_messages) {
|
||||
@@ -1525,12 +1491,6 @@ TEST_F(
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t length, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().enc_private_key_iv.length =
|
||||
@@ -1541,12 +1501,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncPrivateKeyIvOffset) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t offset, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().enc_private_key_iv.offset =
|
||||
@@ -1558,12 +1512,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvLengthAPI16) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForOutOfRangeSubstringOffsetAndLengths(
|
||||
[](size_t response_message_length,
|
||||
ProvisioningRoundTrip* provisioning_messages) {
|
||||
@@ -1577,12 +1525,6 @@ TEST_F(
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncPrivateKeyIvOffset) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForOutOfRangeSubstringOffsetAndLengths(
|
||||
[](size_t response_message_length,
|
||||
ProvisioningRoundTrip* provisioning_messages) {
|
||||
@@ -1595,12 +1537,6 @@ TEST_F(
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t length, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().encrypted_message_key.length =
|
||||
@@ -1611,12 +1547,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForHugeCoreMessageEncMessageKeyOffset) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestLoadProvisioningForHugeBufferLengths(
|
||||
[](size_t offset, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->core_response().encrypted_message_key.offset =
|
||||
@@ -1628,12 +1558,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyLengthProv30) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
if (global_features.provisioning_method != OEMCrypto_OEMCertificate) {
|
||||
GTEST_SKIP() << "Test for Prov 3.0 devices only.";
|
||||
}
|
||||
@@ -1650,12 +1574,6 @@ TEST_F(
|
||||
TEST_F(
|
||||
OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryLoadProvisioningForOutOfRangeCoreMessageEncMessageKeyOffsetProv30) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
if (global_features.provisioning_method != OEMCrypto_OEMCertificate) {
|
||||
GTEST_SKIP() << "Test for Prov 3.0 devices only.";
|
||||
}
|
||||
@@ -1676,12 +1594,6 @@ TEST_F(
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeRequestMessageLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestPrepareProvisioningRequestForHugeBufferLengths(
|
||||
[](size_t message_size, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->set_message_size(message_size);
|
||||
@@ -1691,12 +1603,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeSignatureLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestPrepareProvisioningRequestForHugeBufferLengths(
|
||||
[](size_t message_size, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->set_request_signature_size(message_size);
|
||||
@@ -1706,12 +1612,6 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
|
||||
TEST_F(OEMCryptoLoadsCertificate,
|
||||
OEMCryptoMemoryPrepareProvisioningRequestForHugeCoreMessageLength) {
|
||||
// TODO(b/197141970): Need to revisit OEMCryptoLoadsCert* tests for
|
||||
// provisioning 4. Disabled here temporarily.
|
||||
if (!global_features.loads_certificate ||
|
||||
global_features.provisioning_method == OEMCrypto_BootCertificateChain) {
|
||||
GTEST_SKIP() << "Test for non Prov 4.0 devices only.";
|
||||
}
|
||||
TestPrepareProvisioningRequestForHugeBufferLengths(
|
||||
[](size_t message_size, ProvisioningRoundTrip* provisioning_messages) {
|
||||
provisioning_messages->set_core_message_size(message_size);
|
||||
@@ -1725,90 +1625,4 @@ TEST_F(OEMCryptoLoadsCertificate,
|
||||
/// @{
|
||||
|
||||
/// @}
|
||||
|
||||
#ifdef CAS_TEST
|
||||
|
||||
# include "tuner_hal.h"
|
||||
|
||||
class OEMCryptoCasDemoTest : public OEMCryptoEntitlementLicenseTest {};
|
||||
|
||||
TEST_P(OEMCryptoCasDemoTest, BasicFlow) {
|
||||
// License contains entitlement keys, function reused from
|
||||
// OEMCryptoEntitlementLicenseTest
|
||||
LoadEntitlementLicense();
|
||||
uint32_t key_session_id = 0;
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS, OEMCrypto_CreateEntitledKeySession(
|
||||
session_.session_id(), &key_session_id));
|
||||
|
||||
EntitledMessage entitled_message(&license_messages_);
|
||||
|
||||
// Randomly generate entitled content keys
|
||||
entitled_message.FillKeyArray();
|
||||
if (session_.session_id() == key_session_id) {
|
||||
GTEST_SKIP()
|
||||
<< "Skipping test because entitled and entitlement sessions are both "
|
||||
<< key_session_id << ".";
|
||||
}
|
||||
entitled_message.SetEntitledKeySession(key_session_id);
|
||||
|
||||
// Encrypt and load 0th key (even key) into OEMCrypto
|
||||
ASSERT_NO_FATAL_FAILURE(entitled_message.LoadCasKeys(
|
||||
/*load_even=*/true, /*load_odd=*/false, OEMCrypto_SUCCESS));
|
||||
|
||||
//
|
||||
// Perform DecryptCTR() but for CAS
|
||||
//
|
||||
vector<uint8_t> unencrypted_data(256, 0);
|
||||
vector<uint8_t> encrypted_data(256, 0);
|
||||
vector<uint8_t> output_buffer(256, 0);
|
||||
unencrypted_data.resize(encrypted_data.size());
|
||||
output_buffer.resize(encrypted_data.size());
|
||||
|
||||
OEMCrypto_SampleDescription sample_description;
|
||||
OEMCrypto_SubSampleDescription subsample_description;
|
||||
GenerateSimpleSampleDescription(encrypted_data, output_buffer,
|
||||
&sample_description, &subsample_description);
|
||||
|
||||
// Use 0th entitled content key and IV to encrypt test data
|
||||
EncryptCTR(unencrypted_data,
|
||||
entitled_message.entitled_key_data()->content_key_data,
|
||||
entitled_message.entitled_key_data()->content_iv, &encrypted_data);
|
||||
|
||||
// Assume 0,0 pattern for CTR example
|
||||
OEMCrypto_CENCEncryptPatternDesc pattern = {0, 0};
|
||||
|
||||
// Demo only -- copy IV into sample description so we can use
|
||||
// WTPI_DecryptSample() in the Tuner decrypt impl. A real implementation would
|
||||
// use the IV from the entitled content key, but the demo relies on the
|
||||
// existing decrypt which uses SampleDescription IV.
|
||||
memcpy(sample_description.iv,
|
||||
entitled_message.entitled_key_data()->content_iv, 16);
|
||||
|
||||
// Get key token to send to Tuner for decrypt
|
||||
std::vector<uint8_t> key_token;
|
||||
size_t key_token_length = key_token.size();
|
||||
OEMCryptoResult res = OEMCrypto_GetOEMKeyToken(
|
||||
key_session_id, key_token.data(), &key_token_length);
|
||||
if (res == OEMCrypto_ERROR_SHORT_BUFFER) {
|
||||
key_token.resize(key_token_length);
|
||||
res = OEMCrypto_GetOEMKeyToken(key_session_id, key_token.data(),
|
||||
&key_token_length);
|
||||
}
|
||||
ASSERT_EQ(OEMCrypto_SUCCESS, res);
|
||||
|
||||
// Decrypt the data
|
||||
ASSERT_EQ(TUNER_HAL_SUCCESS,
|
||||
TunerHal_Decrypt(key_token.data(), key_token_length,
|
||||
TunerHal_KeyParityType_EvenKey,
|
||||
&sample_description, // an array of samples.
|
||||
1, // the number of samples.
|
||||
&pattern));
|
||||
|
||||
ASSERT_EQ(unencrypted_data, output_buffer);
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(TestAll, OEMCryptoCasDemoTest,
|
||||
Range<uint32_t>(kCoreMessagesAPI, kCurrentAPI + 1));
|
||||
|
||||
#endif
|
||||
} // namespace wvoec
|
||||
|
||||
Reference in New Issue
Block a user