limal-ca-mgm
X509v3CertificateIssueExtensions.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: X509v3CertificateIssueExtensions.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_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP
24 #define LIMAL_CA_MGM_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP
25 
26 #include <limal/ca-mgm/config.h>
40 #include <blocxx/COWIntrusiveReference.hpp>
41 
42 namespace LIMAL_NAMESPACE
43 {
44 namespace CA_MGM_NAMESPACE
45 {
46 
47  class CA;
48  class CAConfig;
49  class X509v3CertificateIssueExtsImpl;
50 
57  public:
59  X509v3CertificateIssueExts(CAConfig* caConfig, Type type);
61  virtual ~X509v3CertificateIssueExts();
62 
63 #ifndef SWIG
64 
66  operator=(const X509v3CertificateIssueExts& extensions);
67 
68 #endif
69 
70  void
71  setNsBaseUrl(const NsBaseUrlExt &ext);
72 
74  getNsBaseUrl() const;
75 
77  nsBaseUrl();
78 
79  void
80  setNsRevocationUrl(const NsRevocationUrlExt &ext);
81 
83  getNsRevocationUrl() const;
84 
86  nsRevocationUrl();
87 
88  void
89  setNsCaRevocationUrl(const NsCaRevocationUrlExt &ext);
90 
92  getNsCaRevocationUrl() const;
93 
95  nsCaRevocationUrl();
96 
97  void
98  setNsRenewalUrl(const NsRenewalUrlExt &ext);
99 
101  getNsRenewalUrl() const;
102 
104  nsRenewalUrl();
105 
106  void
107  setNsCaPolicyUrl(const NsCaPolicyUrlExt &ext);
108 
110  getNsCaPolicyUrl() const;
111 
113  nsCaPolicyUrl();
114 
115  void
116  setNsSslServerName(const NsSslServerNameExt &ext);
117 
119  getNsSslServerName() const;
120 
122  nsSslServerName();
123 
124  void
125  setNsComment(const NsCommentExt &ext);
126 
128  getNsComment() const;
129 
130  NsCommentExt&
131  nsComment();
132 
133  void
134  setNsCertType(const NsCertTypeExt &ext);
135 
137  getNsCertType() const;
138 
140  nsCertType();
141 
142  void
143  setKeyUsage(const KeyUsageExt &ext);
144 
146  getKeyUsage() const;
147 
148  KeyUsageExt&
149  keyUsage();
150 
151  void
152  setBasicConstraints(const BasicConstraintsExt &ext);
153 
155  getBasicConstraints() const;
156 
158  basicConstraints();
159 
160  void
161  setExtendedKeyUsage(const ExtendedKeyUsageExt &ext);
162 
164  getExtendedKeyUsage() const;
165 
167  extendedKeyUsage();
168 
169  void
170  setSubjectKeyIdentifier(const SubjectKeyIdentifierExt &ext);
171 
173  getSubjectKeyIdentifier() const;
174 
176  subjectKeyIdentifier();
177 
178  void
179  setAuthorityKeyIdentifier(const AuthorityKeyIdentifierGenerateExt &ext);
180 
182  getAuthorityKeyIdentifier() const;
183 
185  authorityKeyIdentifier();
186 
187  void
188  setSubjectAlternativeName(const SubjectAlternativeNameExt &ext);
189 
191  getSubjectAlternativeName() const;
192 
194  subjectAlternativeName();
195 
196  void
197  setIssuerAlternativeName(const IssuerAlternativeNameExt &ext);
198 
200  getIssuerAlternativeName() const;
201 
203  issuerAlternativeName();
204 
205  void
206  setAuthorityInfoAccess(const AuthorityInfoAccessExt &ext);
207 
209  getAuthorityInfoAccess() const;
210 
212  authorityInfoAccess();
213 
214  void
215  setCRLDistributionPoints(const CRLDistributionPointsExt &ext);
216 
218  getCRLDistributionPoints() const;
219 
221  crlDistributionPoints();
222 
223  void
224  setCertificatePolicies(const CertificatePoliciesExt &ext);
225 
227  getCertificatePolicies() const;
228 
230  certificatePolicies();
231 
232  void
233  commit2Config(CA& ca, Type type) const;
234 
235  virtual bool
236  valid() const;
237 
238  virtual blocxx::StringArray
239  verify() const;
240 
241  virtual blocxx::StringArray
242  dump() const;
243 
244  private:
245  blocxx::COWIntrusiveReference<X509v3CertificateIssueExtsImpl> m_impl;
246 
247  };
248 
249 }
250 }
251 
252 #endif // LIMAL_CA_MGM_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP