limal-ca-mgm
CertificateIssueData.hpp
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | |
3 | _ _ _ _ __ _ |
4 | | | | | | \_/ | / \ | | |
5 | | | | | | |_| | / /\ \ | | |
6 | | |__ | | | | | | / ____ \ | |__ |
7 | |____||_| |_| |_|/ / \ \|____| |
8 | |
9 | ca-mgm library |
10 | |
11 | (C) SUSE Linux Products GmbH |
12 \----------------------------------------------------------------------/
13 
14  File: CertificateIssueData.hpp
15 
16  Author: <Michael Calmer> <mc@suse.de>
17  Maintainer: <Michael Calmer> <mc@suse.de>
18 
19  Purpose:
20 
21 /-*/
22 
23 #ifndef LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATAHPP
24 #define LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATAHPP
25 
26 #include <limal/ca-mgm/config.h>
28 #include <limal/ca-mgm/CA.hpp>
30 #include <blocxx/COWIntrusiveReference.hpp>
31 
32 namespace LIMAL_NAMESPACE
33 {
34 namespace CA_MGM_NAMESPACE
35 {
36 
37  class CertificateIssueDataImpl;
38 
45  public:
47 
52  CertificateIssueData(CAConfig* caConfig, Type type);
53 
55 
56  virtual ~CertificateIssueData();
57 
58 #ifndef SWIG
59 
61  operator=(const CertificateIssueData& data);
62 
63 #endif
64 
65  void
66  setCertifyPeriode(time_t start, time_t end);
67 
68  time_t
69  getStartDate() const;
70 
71  time_t
72  getEndDate() const;
73 
78  getStartDateAsString() const;
79 
84  getEndDateAsString() const;
85 
86  void
87  setMessageDigest(MD md);
88 
89  MD
90  getMessageDigest() const;
91 
92  void
93  setExtensions(const X509v3CertificateIssueExts& ext);
94 
96  getExtensions() const;
97 
99  extensions();
100 
104  void
105  commit2Config(CA& ca, Type type) const;
106 
112  virtual bool
113  valid() const;
114 
122  virtual blocxx::StringArray
123  verify() const;
124 
128  virtual blocxx::StringArray
129  dump() const;
130 
131  private:
132  blocxx::COWIntrusiveReference<CertificateIssueDataImpl> m_impl;
133 
134 
135  };
136 
137 }
138 }
139 #endif //LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATA_HPP