limal-ca-mgm
SubjectKeyIdentifierExtension.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: SubjectKeyIdentifierExtension.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_SUBJECT_KEY_IDENTIFIER_EXTENSION_HPP
23 #define LIMAL_CA_MGM_SUBJECT_KEY_IDENTIFIER_EXTENSION_HPP
24 
25 #include <limal/ca-mgm/config.h>
28 #include <blocxx/COWIntrusiveReference.hpp>
29 
30 namespace LIMAL_NAMESPACE {
31 
32 namespace CA_MGM_NAMESPACE {
33 
34  class CA;
35  class CAConfig;
36  class SubjectKeyIdentifierExtImpl;
37 
39  public:
41  SubjectKeyIdentifierExt(CAConfig* caConfig, Type type);
42  SubjectKeyIdentifierExt(bool autoDetect, const String& keyid = String());
44  virtual ~SubjectKeyIdentifierExt();
45 
46 #ifndef SWIG
47 
49  operator=(const SubjectKeyIdentifierExt& extension);
50 
51 #endif
52 
53  void
54  setSubjectKeyIdentifier(bool autoDetect, const String& keyId = String());
55 
56  bool
57  isAutoDetectionEnabled() const;
58 
64  String
65  getKeyID() const;
66 
67  virtual void
68  commit2Config(CA& ca, Type type) const;
69 
70  virtual bool
71  valid() const;
72 
73  virtual blocxx::StringArray
74  verify() const;
75 
76  virtual blocxx::StringArray
77  dump() const;
78 
79  private:
80  blocxx::COWIntrusiveReference<SubjectKeyIdentifierExtImpl> m_impl;
81  };
82 
83 }
84 }
85 
86 #endif // LIMAL_CA_MGM_SUBJECT_KEY_IDENTIFIER_EXTENSION_HPP