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>
14 class Certificate : public boost::noncopyable
20 std::string issuer () const;
21 std::string serial () const;
22 std::string subject () const;
24 static std::string name_for_xml (std::string const &);
30 class CertificateChain
33 CertificateChain () {}
34 CertificateChain (std::string const &);
36 boost::shared_ptr<Certificate> root () const;
37 boost::shared_ptr<Certificate> leaf () const;
39 std::list<boost::shared_ptr<Certificate> > leaf_to_root () const;
42 friend class ::certificates;
43 std::list<boost::shared_ptr<Certificate> > _certificates;