summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-10-24 12:47:08 +0200
committerCarl Hetherington <cth@carlh.net>2019-10-26 20:53:08 +0200
commit114fad7b8c36a0aa1c6f924870e186ab60e32009 (patch)
tree20caceb516ce9daffec40eb0e4ca2adaf2ed8904
parenta9229a4a3c7e33152845dac516febeaeb6eca446 (diff)
Put encryption key into the video identifier so that it is re-made if the key changes.
-rw-r--r--src/lib/film.cc3
-rw-r--r--test/recover_test.cc3
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<string>(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<FFmpegContent> 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,