libcamgm
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 CA_MGM_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP
24 #define CA_MGM_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP
25 
26 #include <ca-mgm/config.h>
27 #include <ca-mgm/CommonData.hpp>
29 #include <ca-mgm/BitExtensions.hpp>
40 #include <ca-mgm/PtrTypes.hpp>
41 
42 namespace CA_MGM_NAMESPACE
43 {
44 
45  class CA;
46  class CAConfig;
47  class X509v3CertificateIssueExtsImpl;
48 
55  public:
57  X509v3CertificateIssueExts(CAConfig* caConfig, Type type);
59  virtual ~X509v3CertificateIssueExts();
60 
61 #ifndef SWIG
62 
64  operator=(const X509v3CertificateIssueExts& extensions);
65 
66 #endif
67 
68  void
69  setNsBaseUrl(const NsBaseUrlExt &ext);
70 
72  getNsBaseUrl() const;
73 
75  nsBaseUrl();
76 
77  void
78  setNsRevocationUrl(const NsRevocationUrlExt &ext);
79 
81  getNsRevocationUrl() const;
82 
84  nsRevocationUrl();
85 
86  void
87  setNsCaRevocationUrl(const NsCaRevocationUrlExt &ext);
88 
90  getNsCaRevocationUrl() const;
91 
93  nsCaRevocationUrl();
94 
95  void
96  setNsRenewalUrl(const NsRenewalUrlExt &ext);
97 
99  getNsRenewalUrl() const;
100 
102  nsRenewalUrl();
103 
104  void
105  setNsCaPolicyUrl(const NsCaPolicyUrlExt &ext);
106 
108  getNsCaPolicyUrl() const;
109 
111  nsCaPolicyUrl();
112 
113  void
114  setNsSslServerName(const NsSslServerNameExt &ext);
115 
117  getNsSslServerName() const;
118 
120  nsSslServerName();
121 
122  void
123  setNsComment(const NsCommentExt &ext);
124 
126  getNsComment() const;
127 
128  NsCommentExt&
129  nsComment();
130 
131  void
132  setNsCertType(const NsCertTypeExt &ext);
133 
135  getNsCertType() const;
136 
138  nsCertType();
139 
140  void
141  setKeyUsage(const KeyUsageExt &ext);
142 
144  getKeyUsage() const;
145 
146  KeyUsageExt&
147  keyUsage();
148 
149  void
150  setBasicConstraints(const BasicConstraintsExt &ext);
151 
153  getBasicConstraints() const;
154 
156  basicConstraints();
157 
158  void
159  setExtendedKeyUsage(const ExtendedKeyUsageExt &ext);
160 
162  getExtendedKeyUsage() const;
163 
165  extendedKeyUsage();
166 
167  void
168  setSubjectKeyIdentifier(const SubjectKeyIdentifierExt &ext);
169 
171  getSubjectKeyIdentifier() const;
172 
174  subjectKeyIdentifier();
175 
176  void
177  setAuthorityKeyIdentifier(const AuthorityKeyIdentifierGenerateExt &ext);
178 
180  getAuthorityKeyIdentifier() const;
181 
183  authorityKeyIdentifier();
184 
185  void
186  setSubjectAlternativeName(const SubjectAlternativeNameExt &ext);
187 
189  getSubjectAlternativeName() const;
190 
192  subjectAlternativeName();
193 
194  void
195  setIssuerAlternativeName(const IssuerAlternativeNameExt &ext);
196 
198  getIssuerAlternativeName() const;
199 
201  issuerAlternativeName();
202 
203  void
204  setAuthorityInfoAccess(const AuthorityInfoAccessExt &ext);
205 
207  getAuthorityInfoAccess() const;
208 
210  authorityInfoAccess();
211 
212  void
213  setCRLDistributionPoints(const CRLDistributionPointsExt &ext);
214 
216  getCRLDistributionPoints() const;
217 
219  crlDistributionPoints();
220 
221  void
222  setCertificatePolicies(const CertificatePoliciesExt &ext);
223 
225  getCertificatePolicies() const;
226 
228  certificatePolicies();
229 
230  void
231  commit2Config(CA& ca, Type type) const;
232 
233  virtual bool
234  valid() const;
235 
236  virtual std::vector<std::string>
237  verify() const;
238 
239  virtual std::vector<std::string>
240  dump() const;
241 
242  private:
244 
245  };
246 
247 }
248 
249 #endif // CA_MGM_X509V_CERTIFICATE_ISSUE_EXTENSIONS_HPP
Definition: SubjectAlternativeNameExtension.hpp:37
Definition: ExtendedKeyUsageExt.hpp:42
Definition: AuthorityKeyIdentifierGenerateExtension.hpp:42
ca_mgm::RWCOW_pointer< X509v3CertificateIssueExtsImpl > m_impl
Definition: X509v3CertificateIssueExtensions.hpp:243
Managing a CA repository.
Definition: CA.hpp:54
Definition: SubjectKeyIdentifierExtension.hpp:36
Definition: StringExtensions.hpp:112
Collection of X509v3 extension for signing a certificate.
Definition: X509v3CertificateIssueExtensions.hpp:54
Definition: StringExtensions.hpp:87
Definition: StringExtensions.hpp:137
Definition: CAConfig.hpp:43
Definition: StringExtensions.hpp:161
Definition: BitExtensions.hpp:73
Definition: IssuerAlternativeNameExtension.hpp:38
Definition: CertificatePoliciesExtension.hpp:164
Type
Definition: CommonData.hpp:39
Definition: BasicConstraintsExtension.hpp:42
Definition: CRLDistributionPointsExtension.hpp:37
Definition: StringExtensions.hpp:209
Definition: BitExtensions.hpp:155
Definition: StringExtensions.hpp:62
Definition: AuthorityInfoAccessExtension.hpp:159
Definition: StringExtensions.hpp:185