1 #ifndef LIBDCP_CERTIFICATES_H
2 #define LIBDCP_CERTIFICATES_H
6 #include <boost/noncopyable.hpp>
7 #include <boost/shared_ptr.hpp>
8 #include <openssl/x509.h>
18 class Certificate : public boost::noncopyable
24 std::string certificate () const;
25 std::string issuer () const;
26 std::string serial () const;
27 std::string subject () const;
29 static std::string name_for_xml (std::string const &);
35 class CertificateChain
38 CertificateChain () {}
39 CertificateChain (std::string const &);
41 boost::shared_ptr<Certificate> root () const;
42 boost::shared_ptr<Certificate> leaf () const;
44 std::list<boost::shared_ptr<Certificate> > leaf_to_root () const;
47 friend class ::certificates;
48 std::list<boost::shared_ptr<Certificate> > _certificates;