libcamgm
X509v3RequestExtensions.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: X509v3RequestExtensions.hpp
15 
16  Author: <Michael Calmer> <mc@suse.de>
17  Maintainer: <Michael Calmer> <mc@suse.de>
18 
19  Purpose:
20 
21 /-*/
22 #ifndef CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP
23 #define CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP
24 
25 #include <ca-mgm/config.h>
26 #include <ca-mgm/CommonData.hpp>
28 #include <ca-mgm/BitExtensions.hpp>
33 #include <ca-mgm/PtrTypes.hpp>
34 
35 
36 namespace CA_MGM_NAMESPACE {
37 
38  class CA;
39  class CAConfig;
40  class X509v3RequestExtsImpl;
41 
49 
50  public:
52  X509v3RequestExts(CAConfig* caConfig, Type type);
53  X509v3RequestExts(const X509v3RequestExts& extensions);
54  virtual ~X509v3RequestExts();
55 
56 #ifndef SWIG
57 
59  operator=(const X509v3RequestExts& extensions);
60 
61 #endif
62 
63  void
64  setNsSslServerName(const NsSslServerNameExt &ext);
65 
67  getNsSslServerName() const;
68 
70  nsSslServerName();
71 
72  void
73  setNsComment(const NsCommentExt &ext);
74 
76  getNsComment() const;
77 
79  nsComment();
80 
81  void
82  setNsCertType(const NsCertTypeExt &ext);
83 
85  getNsCertType() const;
86 
88  nsCertType();
89 
90  void
91  setKeyUsage(const KeyUsageExt &ext);
92 
94  getKeyUsage() const;
95 
97  keyUsage();
98 
99  void
100  setBasicConstraints(const BasicConstraintsExt &ext);
101 
103  getBasicConstraints() const;
104 
106  basicConstraints();
107 
108  void
109  setExtendedKeyUsage(const ExtendedKeyUsageExt &ext);
110 
112  getExtendedKeyUsage() const;
113 
115  extendedKeyUsage();
116 
117  void
118  setSubjectKeyIdentifier(const SubjectKeyIdentifierExt &ext);
119 
121  getSubjectKeyIdentifier() const;
122 
124  subjectKeyIdentifier();
125 
126  void
127  setSubjectAlternativeName(const SubjectAlternativeNameExt &ext);
128 
130  getSubjectAlternativeName() const;
131 
133  subjectAlternativeName();
134 
135  void
136  commit2Config(CA& ca, Type type) const;
137 
138  virtual bool
139  valid() const;
140 
141  virtual std::vector<std::string>
142  verify() const;
143 
144  virtual std::vector<std::string>
145  dump() const;
146 
147  protected:
149 
150  };
151 
152 }
153 
154 #endif // CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP
Definition: SubjectAlternativeNameExtension.hpp:37
Definition: ExtendedKeyUsageExt.hpp:42
Managing a CA repository.
Definition: CA.hpp:54
Definition: SubjectKeyIdentifierExtension.hpp:36
Definition: CAConfig.hpp:43
Definition: BitExtensions.hpp:73
ca_mgm::RWCOW_pointer< X509v3RequestExtsImpl > m_impl
Definition: X509v3RequestExtensions.hpp:148
Type
Definition: CommonData.hpp:39
Definition: BasicConstraintsExtension.hpp:42
Collection of X509v3 extension for certificate requests.
Definition: X509v3RequestExtensions.hpp:48
Definition: StringExtensions.hpp:209
Definition: BitExtensions.hpp:155
Definition: StringExtensions.hpp:185