diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-05-21 00:05:50 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-05-21 00:05:50 +0200 |
| commit | 83416808c0b1ca732e7a186d3811f1ec796fea08 (patch) | |
| tree | f18fde5c358212f5cb0c2ee12700d5b0081590d8 /src/lib/dcp.cc | |
| parent | dda7d841eac2305379aa86d11249dbb4b98d5bb7 (diff) | |
Give 'wrong target' KDM errors in a dialogue box rather than in the job manager (part of #1161).
Diffstat (limited to 'src/lib/dcp.cc')
| -rw-r--r-- | src/lib/dcp.cc | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/lib/dcp.cc b/src/lib/dcp.cc index 477b61e9f..2f56a4ee7 100644 --- a/src/lib/dcp.cc +++ b/src/lib/dcp.cc @@ -37,30 +37,6 @@ using std::string; using boost::shared_ptr; using boost::dynamic_pointer_cast; -dcp::DecryptedKDM -DCP::decrypted_kdm () const -{ - try { - return dcp::DecryptedKDM (_dcp_content->kdm().get(), Config::instance()->decryption_chain()->key().get()); - } catch (dcp::KDMDecryptionError& e) { - /* Try to flesh out the error a bit */ - string const kdm_subject_name = _dcp_content->kdm()->recipient_x509_subject_name(); - bool on_chain = false; - shared_ptr<const dcp::CertificateChain> dc = Config::instance()->decryption_chain(); - BOOST_FOREACH (dcp::Certificate i, dc->root_to_leaf()) { - if (i.subject() == kdm_subject_name) { - on_chain = true; - } - } - if (!on_chain) { - throw KDMError (_("KDM was not made for DCP-o-matic's decryption certificate."), e.what()); - } else if (on_chain && kdm_subject_name != dc->leaf().subject()) { - throw KDMError (_("KDM was made for DCP-o-matic but not for its leaf certificate."), e.what()); - } else { - throw; - } - } -} /** Find all the CPLs in our directories, cross-add assets and return the CPLs */ list<shared_ptr<dcp::CPL> > @@ -100,7 +76,7 @@ DCP::cpls () const } if (_dcp_content->kdm ()) { - dcp::DecryptedKDM k = decrypted_kdm (); + dcp::DecryptedKDM k = decrypt_kdm_with_helpful_error (_dcp_content->kdm().get()); BOOST_FOREACH (shared_ptr<dcp::DCP> i, dcps) { i->add (k); } |
