From 114fad7b8c36a0aa1c6f924870e186ab60e32009 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 24 Oct 2019 12:47:08 +0200 Subject: [PATCH] Put encryption key into the video identifier so that it is re-made if the key changes. --- src/lib/film.cc | 3 ++- test/recover_test.cc | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/film.cc b/src/lib/film.cc index 701eecc39..988b7e2fe 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -225,7 +225,8 @@ Film::video_identifier () const + "_" + raw_convert(j2k_bandwidth()); if (encrypted ()) { - s += "_E"; + /* This is insecure but hey, the key is in plaintext in metadata.xml */ + s += "_E" + _key.hex(); } else { s += "_P"; } diff --git a/test/recover_test.cc b/test/recover_test.cc index ecbc38156..e8194fd81 100644 --- a/test/recover_test.cc +++ b/test/recover_test.cc @@ -125,6 +125,7 @@ BOOST_AUTO_TEST_CASE (recover_test_2d_encrypted, * boost::unit_test::depends_on( film->set_container (Ratio::from_id ("185")); film->set_name ("recover_test"); film->set_encrypted (true); + film->set_key (dcp::Key("eafcb91c9f5472edf01f3a2404c57258")); shared_ptr content (new FFmpegContent("test/data/count300bd24.m2ts")); film->examine_and_add_content (content); @@ -134,7 +135,7 @@ BOOST_AUTO_TEST_CASE (recover_test_2d_encrypted, * boost::unit_test::depends_on( BOOST_REQUIRE (!wait_for_jobs()); boost::filesystem::path const video = - "build/test/recover_test_2d_encrypted/video/185_2K_d4343facdd66ca71f62a964fbade89f3_24_100000000_E_S_0_1200000.mxf"; + "build/test/recover_test_2d_encrypted/video/185_2K_d4343facdd66ca71f62a964fbade89f3_24_100000000_Eeafcb91c9f5472edf01f3a2404c57258_S_0_1200000.mxf"; boost::filesystem::copy_file ( video, -- 2.30.2