40 #ifndef LIBDCP_DECRYPTED_KDM_H
41 #define LIBDCP_DECRYPTED_KDM_H
49 #include <boost/filesystem.hpp>
50 #include <boost/optional.hpp>
53 class decrypted_kdm_test;
59 class DecryptedKDMKey;
61 class CertificateChain;
92 std::string annotation_text,
93 std::string content_title_text,
94 std::string issue_date
102 std::map<std::shared_ptr<const ReelFileAsset>,
Key>
keys,
105 std::string annotation_text,
106 std::string content_title_text,
107 std::string issue_date
119 std::shared_ptr<const CPL> cpl,
123 std::string annotation_text,
124 std::string content_title_text,
125 std::string issue_date
140 std::shared_ptr<const CertificateChain> signer,
142 std::vector<std::string> trusted_devices,
144 bool disable_forensic_marking_picture,
145 boost::optional<int> disable_forensic_marking_audio
153 void add_key (boost::optional<std::string> type, std::string key_id,
Key key, std::string cpl_id, Standard standard);
158 std::vector<DecryptedKDMKey>
keys ()
const {
162 boost::optional<std::string> annotation_text ()
const {
163 return _annotation_text;
166 std::string content_title_text ()
const {
167 return _content_title_text;
170 std::string issue_date ()
const {
176 friend class ::decrypted_kdm_test;
178 static void put_uuid (uint8_t ** d, std::string
id);
179 static std::string get_uuid (
unsigned char ** p);
181 LocalTime _not_valid_before;
182 LocalTime _not_valid_after;
183 boost::optional<std::string> _annotation_text;
184 std::string _content_title_text;
185 std::string _issue_date;
186 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.