40 #ifndef LIBDCP_ENCRYPTED_KDM_H
41 #define LIBDCP_ENCRYPTED_KDM_H
46 #include <boost/filesystem.hpp>
47 #include <boost/optional.hpp>
48 #include <boost/date_time/local_time/local_time.hpp>
60 class EncryptedKDMData;
64 class CertificateChain;
86 void as_xml (boost::filesystem::path file)
const;
89 std::string
as_xml ()
const;
95 std::vector<std::string>
keys ()
const;
97 std::string id ()
const;
98 boost::optional<std::string> annotation_text ()
const;
99 std::string content_title_text ()
const;
100 std::string issue_date ()
const;
101 std::string cpl_id ()
const;
104 std::string recipient_x509_subject_name ()
const;
113 std::shared_ptr<const CertificateChain> signer,
115 std::vector<std::string> trusted_devices,
117 std::string cpl_content_title_text,
118 boost::optional<std::string> annotation_text,
122 bool disable_forensic_marking_picture,
123 boost::optional<int> disable_forensic_marking_audio,
124 std::vector<std::pair<std::string, std::string>> key_ids,
125 std::vector<std::string>
keys
128 data::EncryptedKDMData* _data =
nullptr;
A chain of any number of certificates, from root to leaf.
A wrapper for an X509 certificate.
std::string as_xml() const
std::vector< std::string > keys() const
EncryptedKDM(std::shared_ptr< const CertificateChain > signer, Certificate recipient, std::vector< std::string > trusted_devices, std::string cpl_id, std::string cpl_content_title_text, boost::optional< std::string > annotation_text, LocalTime not_valid_before, LocalTime not_valid_after, Formulation formulation, bool disable_forensic_marking_picture, boost::optional< int > disable_forensic_marking_audio, std::vector< std::pair< std::string, std::string >> key_ids, std::vector< std::string > keys)
A representation of a local time (down to the second), including its offset from GMT (equivalent to x...
Namespace for everything in libdcp.