X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fdkdm_recipient.cc;h=c73379bed9cded1f3963fad8a62bf32bf67b4095;hb=HEAD;hp=ff19aa265b050e05d7c267cebe67dd9eebdcb66d;hpb=d311043bf3c1e3e7f41b314f7ab7c91ed7e5aa7f;p=dcpomatic.git diff --git a/src/lib/dkdm_recipient.cc b/src/lib/dkdm_recipient.cc index ff19aa265..c73379bed 100644 --- a/src/lib/dkdm_recipient.cc +++ b/src/lib/dkdm_recipient.cc @@ -19,10 +19,12 @@ */ +#include "config.h" #include "dkdm_recipient.h" #include "film.h" #include "kdm_with_metadata.h" #include +#include using std::make_shared; @@ -71,19 +73,16 @@ kdm_for_dkdm_recipient ( return {}; } - dcp::LocalTime const begin(valid_from, recipient->utc_offset_hour, recipient->utc_offset_minute); - dcp::LocalTime const end (valid_to, recipient->utc_offset_hour, recipient->utc_offset_minute); - - auto const kdm = film->make_kdm ( - recipient->recipient.get(), - vector(), - cpl, - begin, - end, - dcp::Formulation::MODIFIED_TRANSITIONAL_1, - true, - 0 - ); + dcp::LocalTime const begin(valid_from, dcp::UTCOffset(recipient->utc_offset_hour, recipient->utc_offset_minute)); + dcp::LocalTime const end (valid_to, dcp::UTCOffset(recipient->utc_offset_hour, recipient->utc_offset_minute)); + + auto signer = Config::instance()->signer_chain(); + if (!signer->valid()) { + throw InvalidSignerError(); + } + + auto const decrypted_kdm = film->make_kdm(cpl, begin, end); + auto const kdm = decrypted_kdm.encrypt(signer, recipient->recipient.get(), {}, dcp::Formulation::MODIFIED_TRANSITIONAL_1, true, 0); dcp::NameFormat::Map name_values; name_values['f'] = kdm.content_title_text();