+
+
+/** Check that we don't get any strange errors when verifying encrypted DCPs (DoM #2659) */
+BOOST_AUTO_TEST_CASE(verify_encrypted_smpte_dcp)
+{
+ auto const dir = path("build/test/verify_encrypted_smpte_dcp");
+ dcp::Key key;
+ auto key_id = dcp::make_uuid();
+ auto cpl = dcp_with_text<dcp::ReelSMPTESubtitleAsset>(dir, {{ 4 * 24, 5 * 24 }}, key, key_id);
+
+ dcp::DecryptedKDM kdm(dcp::LocalTime(), dcp::LocalTime(), "", "", "");
+ kdm.add_key(dcp::DecryptedKDMKey(string{"MDIK"}, key_id, key, cpl->id(), dcp::Standard::SMPTE));
+
+ path const pkl_file = find_file(dir, "pkl_");
+ path const cpl_file = find_file(dir, "cpl_");
+
+ check_verify_result(
+ { dir },
+ { kdm },
+ {
+ dcp::VerificationNote(
+ dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::MISSING_CPL_METADATA, canonical(cpl_file)
+ ).set_cpl_id(cpl->id()),
+ dcp::VerificationNote(
+ dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT, canonical(cpl_file)
+ ).set_cpl_id(cpl->id()),
+ dcp::VerificationNote(
+ dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT, filename_to_id(pkl_file.filename()), canonical(pkl_file)
+ )
+ });
+}
+
+