diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-01-29 00:07:10 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-02-11 22:26:38 +0100 |
| commit | e18630852de1ac02c23c74cbe7643845b6f4bd17 (patch) | |
| tree | 9860c35db04509b5edf818d4ad6667b0c59651de /src/lib/screen.cc | |
| parent | 6ca8f63ff524330bf58877ffe963466495e46758 (diff) | |
Cleanup: extract encrypt() call from Film::make_kdm().
Diffstat (limited to 'src/lib/screen.cc')
| -rw-r--r-- | src/lib/screen.cc | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib/screen.cc b/src/lib/screen.cc index 453a833d7..5ef007214 100644 --- a/src/lib/screen.cc +++ b/src/lib/screen.cc @@ -20,6 +20,7 @@ #include "cinema.h" +#include "config.h" #include "film.h" #include "kdm_util.h" #include "kdm_with_metadata.h" @@ -95,16 +96,13 @@ kdm_for_screen ( period_checks.push_back(check_kdm_and_certificate_validity_periods(screen->recipient.get(), begin, end)); - auto const kdm = film->make_kdm ( - screen->recipient.get(), - screen->trusted_device_thumbprints(), - cpl, - begin, - end, - formulation, - disable_forensic_marking_picture, - disable_forensic_marking_audio - ); + auto signer = Config::instance()->signer_chain(); + if (!signer->valid()) { + throw InvalidSignerError(); + } + + auto const decrypted_kdm = film->make_kdm(cpl, begin, end); + auto kdm = decrypted_kdm.encrypt(signer, screen->recipient.get(), screen->trusted_device_thumbprints(), formulation, disable_forensic_marking_picture, disable_forensic_marking_audio); dcp::NameFormat::Map name_values; if (cinema) { |
