00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATAHPP
00024 #define LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATAHPP
00025
00026 #include <limal/ca-mgm/config.h>
00027 #include <limal/ca-mgm/CommonData.hpp>
00028 #include <limal/ca-mgm/CA.hpp>
00029 #include <limal/ca-mgm/X509v3CertificateIssueExtensions.hpp>
00030 #include <blocxx/COWIntrusiveReference.hpp>
00031
00032 namespace LIMAL_NAMESPACE
00033 {
00034 namespace CA_MGM_NAMESPACE
00035 {
00036
00037 class CertificateIssueDataImpl;
00038
00044 class CertificateIssueData {
00045 public:
00046 CertificateIssueData();
00047
00052 CertificateIssueData(CAConfig* caConfig, Type type);
00053
00054 CertificateIssueData(const CertificateIssueData& data);
00055
00056 virtual ~CertificateIssueData();
00057
00058 #ifndef SWIG
00059
00060 CertificateIssueData&
00061 operator=(const CertificateIssueData& data);
00062
00063 #endif
00064
00065 void
00066 setCertifyPeriode(time_t start, time_t end);
00067
00068 time_t
00069 getStartDate() const;
00070
00071 time_t
00072 getEndDate() const;
00073
00077 blocxx::String
00078 getStartDateAsString() const;
00079
00083 blocxx::String
00084 getEndDateAsString() const;
00085
00086 void
00087 setMessageDigest(MD md);
00088
00089 MD
00090 getMessageDigest() const;
00091
00092 void
00093 setExtensions(const X509v3CertificateIssueExts& ext);
00094
00095 X509v3CertificateIssueExts
00096 getExtensions() const;
00097
00098 X509v3CertificateIssueExts&
00099 extensions();
00100
00104 void
00105 commit2Config(CA& ca, Type type) const;
00106
00112 virtual bool
00113 valid() const;
00114
00122 virtual blocxx::StringArray
00123 verify() const;
00124
00128 virtual blocxx::StringArray
00129 dump() const;
00130
00131 private:
00132 blocxx::COWIntrusiveReference<CertificateIssueDataImpl> m_impl;
00133
00134
00135 };
00136
00137 }
00138 }
00139 #endif //LIMAL_CA_MGM_CERTIFICATE_ISSUE_DATA_HPP