limal-ca-mgm
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 LIMAL_CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP
23 #define LIMAL_CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP
24 
25 #include <limal/ca-mgm/config.h>
33 #include <blocxx/COWIntrusiveReference.hpp>
34 
35 namespace LIMAL_NAMESPACE {
36 
37 namespace CA_MGM_NAMESPACE {
38 
39  class CA;
40  class CAConfig;
41  class X509v3RequestExtsImpl;
42 
50 
51  public:
53  X509v3RequestExts(CAConfig* caConfig, Type type);
54  X509v3RequestExts(const X509v3RequestExts& extensions);
55  virtual ~X509v3RequestExts();
56 
57 #ifndef SWIG
58 
60  operator=(const X509v3RequestExts& extensions);
61 
62 #endif
63 
64  void
65  setNsSslServerName(const NsSslServerNameExt &ext);
66 
68  getNsSslServerName() const;
69 
71  nsSslServerName();
72 
73  void
74  setNsComment(const NsCommentExt &ext);
75 
77  getNsComment() const;
78 
80  nsComment();
81 
82  void
83  setNsCertType(const NsCertTypeExt &ext);
84 
86  getNsCertType() const;
87 
89  nsCertType();
90 
91  void
92  setKeyUsage(const KeyUsageExt &ext);
93 
95  getKeyUsage() const;
96 
98  keyUsage();
99 
100  void
101  setBasicConstraints(const BasicConstraintsExt &ext);
102 
104  getBasicConstraints() const;
105 
107  basicConstraints();
108 
109  void
110  setExtendedKeyUsage(const ExtendedKeyUsageExt &ext);
111 
113  getExtendedKeyUsage() const;
114 
116  extendedKeyUsage();
117 
118  void
119  setSubjectKeyIdentifier(const SubjectKeyIdentifierExt &ext);
120 
122  getSubjectKeyIdentifier() const;
123 
125  subjectKeyIdentifier();
126 
127  void
128  setSubjectAlternativeName(const SubjectAlternativeNameExt &ext);
129 
131  getSubjectAlternativeName() const;
132 
134  subjectAlternativeName();
135 
136  void
137  commit2Config(CA& ca, Type type) const;
138 
139  virtual bool
140  valid() const;
141 
142  virtual blocxx::StringArray
143  verify() const;
144 
145  virtual blocxx::StringArray
146  dump() const;
147 
148  protected:
149  blocxx::COWIntrusiveReference<X509v3RequestExtsImpl> m_impl;
150 
151  };
152 
153 }
154 }
155 
156 #endif // LIMAL_CA_MGM_X509V3_REQUEST_EXTENSIONS_HPP