From 81b15e9e131094879b416b26601c673e6ae0d508 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 26 Apr 2026 22:39:24 +0200 Subject: Add --trusted-device-chain option to KDM CLI. --- test/kdm_cli_test.cc | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'test/kdm_cli_test.cc') diff --git a/test/kdm_cli_test.cc b/test/kdm_cli_test.cc index b5088b938..4913986f3 100644 --- a/test/kdm_cli_test.cc +++ b/test/kdm_cli_test.cc @@ -390,3 +390,35 @@ BOOST_AUTO_TEST_CASE(kdm_cli_formulation_warning) BOOST_CHECK(boost::filesystem::exists(kdm_filename)); } + + +BOOST_AUTO_TEST_CASE(kdm_cli_trusted_device_chain) +{ + vector args = { + "kdm_cli", + "--valid-from", "now", + "--valid-duration", "2 weeks", + "--trusted-device-chain", "test/data/decryption_chain", + "--projector-certificate", "test/data/cert.pem", + "-S", "my great screen", + "-o", "build/test", + "-F", "multiple-modified-transitional-1", + "test/data/dkdm.xml" + }; + + boost::filesystem::path const kdm_filename = "build/test/KDM_Test_FTR-1_F-133_XX-XX_MOS_2K_20220109_SMPTE_OV__my_great_screen.xml"; + boost::system::error_code ec; + boost::filesystem::remove(kdm_filename, ec); + + vector output; + auto error = run(args, output); + BOOST_CHECK(!error); + BOOST_CHECK(output.empty()); + + BOOST_CHECK(boost::filesystem::exists(kdm_filename)); + + dcp::EncryptedKDM kdm(dcp::file_to_string(kdm_filename)); + BOOST_REQUIRE_EQUAL(kdm.trusted_devices().size(), 1U); + BOOST_CHECK_EQUAL(kdm.trusted_devices()[0], "KTEVkrCuEsqjXQSPy/H/lpVC9ys="); +} + -- cgit v1.2.3