limal-ca-mgm
RequestGenerationData.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: RequestGenerationData.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_REQUEST_GENERATION_DATA_HPP
24 #define LIMAL_CA_MGM_REQUEST_GENERATION_DATA_HPP
25 
26 #include <limal/ca-mgm/config.h>
30 #include <blocxx/COWIntrusiveReference.hpp>
31 
32 namespace LIMAL_NAMESPACE
33 {
34 namespace CA_MGM_NAMESPACE
35 {
36 
37  class CA;
38  class CAConfig;
39  class RequestGenerationDataImpl;
40 
47  public:
49 
53  RequestGenerationData(CAConfig* caConfig, Type type);
55  virtual ~RequestGenerationData();
56 
57 #ifndef SWIG
58 
60  operator=(const RequestGenerationData& data);
61 
62 #endif
63 
64  void
65  setSubjectDN(const DNObject dn);
66 
67  DNObject
68  getSubjectDN() const;
69 
70  DNObject&
71  subjectDN();
72 
73  void
74  setKeysize(blocxx::UInt32 size);
75 
76  blocxx::UInt32
77  getKeysize() const;
78 
79  void
80  setMessageDigest(MD md);
81 
82  MD
83  getMessageDigest() const;
84 
85  void
86  setChallengePassword(const String &passwd);
87 
88  String
89  getChallengePassword() const;
90 
91  void
92  setUnstructuredName(const String &name);
93 
94  String
95  getUnstructuredName() const;
96 
97  void
98  setExtensions(const X509v3RequestExts &ext);
99 
101  getExtensions() const;
102 
104  extensions();
105 
109  void
110  commit2Config(CA& ca, Type type) const;
111 
112  virtual bool
113  valid() const;
114 
115  virtual blocxx::StringArray
116  verify() const;
117 
118  virtual blocxx::StringArray
119  dump() const;
120 
121  private:
122  blocxx::COWIntrusiveReference<RequestGenerationDataImpl> m_impl;
123 
124  };
125 
126 }
127 }
128 #endif //LIMAL_CA_MGM_REQUEST_GENERATION_DATA_HPP