diff --git a/libwvdrmengine/cdm/core/test/duration_use_case_test.cpp b/libwvdrmengine/cdm/core/test/duration_use_case_test.cpp index d8c83938..c778eace 100644 --- a/libwvdrmengine/cdm/core/test/duration_use_case_test.cpp +++ b/libwvdrmengine/cdm/core/test/duration_use_case_test.cpp @@ -1055,7 +1055,7 @@ class RenewalTest : public CdmDurationTest { std::string http_response; // Most of the network latency will probably show up in the next few // commands. I think the tests have enough slop to account for reasonable - // latency with the current value of kRoundTripTime. But We'll know I made a + // latency with the current value of kRoundTripTime. But we'll know I made a // mistake if we see errors about "Test Clock skew..." in the SleepUntil // call below. ASSERT_TRUE(renewal_in_flight_->GetResponse(&http_response)); diff --git a/libwvdrmengine/cdm/test/request_license_test.cpp b/libwvdrmengine/cdm/test/request_license_test.cpp index de1c4723..100d5749 100644 --- a/libwvdrmengine/cdm/test/request_license_test.cpp +++ b/libwvdrmengine/cdm/test/request_license_test.cpp @@ -1335,28 +1335,6 @@ const std::string kFullCencPssh = wvcdm::a2bs_hex( "74657374220a323031355f7465617273" "2a024844"); -const std::string kFullCensPssh = wvcdm::a2bs_hex( - "00000053" // blob size - "70737368" // "pssh" - "00000000" // flags - "edef8ba979d64acea3c827dcd51d21ed" // Widevine system id - "00000033" // pssh data size - "12103030303030303030303030303030" // pssh data - "30321a0d7769646576696e655f746573" - "74220a323031355f746561727348f3dc" - "959b06"); - -const std::string kFullCbc1Pssh = wvcdm::a2bs_hex( - "00000053" // blob size - "70737368" // "pssh" - "00000000" // flags - "edef8ba979d64acea3c827dcd51d21ed" // Widevine system id - "00000033" // pssh data size - "12103030303030303030303030303030" // pssh data - "30321a0d7769646576696e655f746573" - "74220a323031355f746561727348b1c6" - "899b06"); - const std::string kFullCbcsPssh = wvcdm::a2bs_hex( "00000053" // blob size "70737368" // "pssh" @@ -1430,59 +1408,7 @@ Cenc30SampleInfo kCenc30CencKey32Sample = { wvcdm::kCipherModeCtr, }; -Cenc30SampleInfo kCenc30CensKey33Sample = { - true, - wvcdm::a2bs_hex("30303030303030303030303030303033"), - wvcdm::a2bs_hex("9FBE45DD47DA7EBA09A3E24CBA95C9AF"), - wvcdm::a2bs_hex( - "011E88387D58EBB8E5CDCC38D431EEF404666D67944510D7120985822A6516EFE0" - "35D807AC804F348AF78F201A88B0F06E8C9BF4F5DEF448558B3F2BB15DF7A6F3F6" - "A34FA81F4478847BB4BE2F29C586F627D2370115969617EF4B35B32D2E522B0DA8" - "905B2581E5DEE0467003FB835EA2D1FEDF82635941D45E0C3A57FFBD763D1C56D6" - "B63FED9A0CAABE7436CC82DCED6563667B4F5BC037AC54BFE25B821F92E8CCDD0C" - "13571FDFD3D833777EF7C13B368224DE27FF6570B4DDA8A1F1D0F75F69701FA40A" - "4EE65DB853CF02A130E492F0D998FCA6B581E41E678AA47E301246A63DF92780D9" - "1478858417F0ED0E1E3E18AA3E4A18DFC75F1D6FCE24C6C952"), - wvcdm::a2bs_hex( - "E7C566D86E98C36D2DCA54A966E7B469B6094B9201F200932F8EB5E1A94FB0B977" - "FAB8DFDAD57C677E279615F4EAFA872CA8EFF83179E4DE2AB78E6B41A860C42203" - "4B875AC282406E03AC01F2E407A55DE38C6C35707F34B3319646FA016A01CE9056" - "E55D28C48ED72F10FA6625656ED62B758CBADA757DDC52533C9CBD54FC1A46F827" - "CC7B69BA66AE19A15D725FCBB972B23C83F95C0F00F481A7C9AC8687B3A4AD15AD" - "A2ABBB84D8E3CBEC3E8771720A35234070799173B37219127141922CBA8CB2DC48" - "EC2477832D1AE477942DCDA93C0886AF72D71E56DA3D7737E49670B024639A195B" - "7377C7F45A797C6E5DBB1BB2843DA3FC76043E33687BEF3172"), - OEMCrypto_FirstSubsample | OEMCrypto_LastSubsample, - wvcdm::kCipherModeCtr, -}; - -Cenc30SampleInfo kCenc30Cbc1Key33Sample = { - true, - wvcdm::a2bs_hex("30303030303030303030303030303033"), - wvcdm::a2bs_hex("9FBE45DD47DA7EBA09A3E24CBA95C9AF"), - wvcdm::a2bs_hex( - "E300F37FEB0CDD9F276E67B971FF423003F3BF21DCF6100BA453A473A4522A19A8" - "2E098AA25511011D386FC7092FE3B407DF2BEB3AD57D5E1178F041E3FCABE25193" - "3F5EE35670CEB96BA3DAF922484F9A37773EF75D4B17FACC80B475004A6229AB4C" - "DFFA426468E578DE6A0285D942CDE476E06FF907D03F382552C2E14399C3FC2D21" - "9A59819FFF837EBC88A9F83A42D37F48ED8564EB40AC3BA8A6D2634A81F04FC2F1" - "379A45869036FD72B39C88222646AB7486A8416D78AB75951EB87ED1E16DF69209" - "A6966AC93C7BB65B85E429357A732CBC75F6EFB1781859FB771D60D11EB381D9CA" - "63F793507B02207810773FCABED0240E5BEEAD30116014E481"), - wvcdm::a2bs_hex( - "E7C566D86E98C36D2DCA54A966E7B469B6094B9201F200932F8EB5E1A94FB0B977" - "FAB8DFDAD57C677E279615F4EAFA872CA8EFF83179E4DE2AB78E6B41A860C42203" - "4B875AC282406E03AC01F2E407A55DE38C6C35707F34B3319646FA016A01CE9056" - "E55D28C48ED72F10FA6625656ED62B758CBADA757DDC52533C9CBD54FC1A46F827" - "CC7B69BA66AE19A15D725FCBB972B23C83F95C0F00F481A7C9AC8687B3A4AD15AD" - "A2ABBB84D8E3CBEC3E8771720A35234070799173B37219127141922CBA8CB2DC48" - "EC2477832D1AE477942DCDA93C0886AF72D71E56DA3D7737E49670B024639A195B" - "7377C7F45A797C6E5DBB1BB2843DA3FC76043E33687BEF3172"), - OEMCrypto_FirstSubsample | OEMCrypto_LastSubsample, - wvcdm::kCipherModeCbc, -}; - -Cenc30SampleInfo kCenc30Cbc1Key32Sample = { +Cenc30SampleInfo kCenc30CbcsKey32Sample = { true, wvcdm::a2bs_hex("30303030303030303030303030303032"), wvcdm::a2bs_hex("9FBE45DD47DA7EBA09A3E24CBA95C9AF"), @@ -1539,10 +1465,8 @@ struct SingleSampleDecryptionInfo { Cenc30SampleInfo sample_info; }; -SingleSampleDecryptionInfo kCenc30DecryptionData[4] = { +SingleSampleDecryptionInfo kCenc30DecryptionData[2] = { {kFullCencPssh, kCenc30CencKey33Sample}, - {kFullCensPssh, kCenc30CensKey33Sample}, - {kFullCbc1Pssh, kCenc30Cbc1Key33Sample}, {kFullCbcsPssh, kCenc30CbcsKey33Sample}, }; @@ -1556,61 +1480,61 @@ FourSampleDecryptionInfo kCenc30SwitchCipherData[8] = { {kFullCencPssh, { kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, }}, - {kFullCbc1Pssh, + {kFullCbcsPssh, { - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, }}, // Switch between cipher modes, but the first sample has a cipher mode // that differs with the protection scheme in the pssh {kFullCencPssh, { - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, }}, - {kFullCbc1Pssh, + {kFullCbcsPssh, { kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, kCenc30CencKey33Sample, - kCenc30Cbc1Key33Sample, + kCenc30CbcsKey33Sample, }}, // Switch between cipher modes and keys {kFullCencPssh, { kCenc30CencKey33Sample, kCenc30CencKey32Sample, - kCenc30Cbc1Key33Sample, - kCenc30Cbc1Key32Sample, + kCenc30CbcsKey33Sample, + kCenc30CbcsKey32Sample, }}, {kFullCencPssh, { - kCenc30Cbc1Key33Sample, - kCenc30Cbc1Key32Sample, + kCenc30CbcsKey33Sample, + kCenc30CbcsKey32Sample, kCenc30CencKey33Sample, kCenc30CencKey32Sample, }}, - {kFullCbc1Pssh, + {kFullCbcsPssh, { - kCenc30Cbc1Key33Sample, - kCenc30Cbc1Key32Sample, + kCenc30CbcsKey33Sample, + kCenc30CbcsKey32Sample, kCenc30CencKey33Sample, kCenc30CencKey32Sample, }}, - {kFullCbc1Pssh, + {kFullCbcsPssh, { kCenc30CencKey33Sample, kCenc30CencKey32Sample, - kCenc30Cbc1Key33Sample, - kCenc30Cbc1Key32Sample, + kCenc30CbcsKey33Sample, + kCenc30CbcsKey32Sample, }}, }; @@ -6231,7 +6155,7 @@ TEST_P(WvCenc30Test, DecryptionTest) { INSTANTIATE_TEST_CASE_P(Cdm, WvCenc30Test, ::testing::Range(&kCenc30DecryptionData[0], - &kCenc30DecryptionData[4])); + &kCenc30DecryptionData[2])); class WvCenc30SwitchCipherModeTest : public WvCdmRequestLicenseTest, diff --git a/libwvdrmengine/oemcrypto/test/README.md b/libwvdrmengine/oemcrypto/test/README.md index a85b663d..7308331c 100644 --- a/libwvdrmengine/oemcrypto/test/README.md +++ b/libwvdrmengine/oemcrypto/test/README.md @@ -81,11 +81,11 @@ the ODK functions as described in the document "License Duration and Renewal". ### What to expect from these tests -* `OEMCryptoMemory*` tests are designed to fail if API doesn't have enough - validations around input buffer lengths, parameters or OEMCryptoSubstring - struct. If the API doesn't have validations which might lead to a crash, the - test fails with a segfault or an appropriate crash message based on the API - implementation. +* `OEMCryptoMemory*` tests are designed to fail if the API doesn't have + enough validations around input buffer lengths, parameters or the + OEMCryptoSubstring struct. If the API doesn't have validations which might + lead to a crash, the test fails with a segfault or an appropriate crash + message based on the API implementation. * Find out for what buffer length, the API is crashing and then debugging the test against the OEMCrypto implementation should be able to provide