40 #ifndef LIBDCP_DECRYPTED_KDM_H
41 #define LIBDCP_DECRYPTED_KDM_H
48 #include <boost/filesystem.hpp>
49 #include <boost/optional.hpp>
52 struct decrypted_kdm_test;
58 class DecryptedKDMKey;
60 class CertificateChain;
91 std::string annotation_text,
92 std::string content_title_text,
93 std::string issue_date
101 std::map<std::shared_ptr<const ReelFileAsset>,
Key>
keys,
104 std::string annotation_text,
105 std::string content_title_text,
106 std::string issue_date
118 std::shared_ptr<const CPL> cpl,
122 std::string annotation_text,
123 std::string content_title_text,
124 std::string issue_date
139 std::shared_ptr<const CertificateChain> signer,
141 std::vector<std::string> trusted_devices,
142 Formulation formulation,
143 bool disable_forensic_marking_picture,
144 boost::optional<int> disable_forensic_marking_audio
152 void add_key (boost::optional<std::string> type, std::string key_id,
Key key, std::string cpl_id, Standard standard);
157 std::vector<DecryptedKDMKey>
keys ()
const {
161 boost::optional<std::string> annotation_text ()
const {
162 return _annotation_text;
165 std::string content_title_text ()
const {
166 return _content_title_text;
169 std::string issue_date ()
const {
175 friend struct ::decrypted_kdm_test;
177 static void put_uuid (uint8_t ** d, std::string
id);
178 static std::string get_uuid (
unsigned char ** p);
180 LocalTime _not_valid_before;
181 LocalTime _not_valid_after;
182 boost::optional<std::string> _annotation_text;
183 std::string _content_title_text;
184 std::string _issue_date;
185 std::vector<DecryptedKDMKey> _keys;
A wrapper for an X509 certificate.
An un- or de-crypted key from a KDM.
DecryptedKDM(EncryptedKDM const &kdm, std::string private_key)
void add_key(boost::optional< std::string > type, std::string key_id, Key key, std::string cpl_id, Standard standard)
std::vector< DecryptedKDMKey > keys() const
EncryptedKDM encrypt(std::shared_ptr< const CertificateChain > signer, Certificate recipient, std::vector< std::string > trusted_devices, Formulation formulation, bool disable_forensic_marking_picture, boost::optional< int > disable_forensic_marking_audio) const
A key for decrypting/encrypting assets.
A representation of a local time (down to the second), including its offset from GMT (equivalent to x...
Namespace for everything in libdcp.