22 #ifndef LIMAL_CA_MGM_BIT_EXTENSIONS_HPP
23 #define LIMAL_CA_MGM_BIT_EXTENSIONS_HPP
28 #include <blocxx/COWIntrusiveReference.hpp>
30 namespace LIMAL_NAMESPACE {
32 namespace CA_MGM_NAMESPACE {
36 class BitExtensionImpl;
55 void setValue(blocxx::UInt32 value);
56 blocxx::UInt32 getValue()
const;
58 virtual void commit2Config(
CA& ca,
Type type)
const = 0;
60 virtual bool valid()
const = 0;
61 virtual blocxx::StringArray verify()
const = 0;
63 virtual blocxx::StringArray dump()
const = 0;
66 blocxx::COWIntrusiveReference<BitExtensionImpl>
m_impl;
77 digitalSignature = 0x0080,
78 nonRepudiation = 0x0040,
79 keyEncipherment = 0x0020,
80 dataEncipherment = 0x0010,
81 keyAgreement = 0x0008,
84 encipherOnly = 0x0001,
107 void setKeyUsage(blocxx::UInt32 keyUsage);
112 blocxx::UInt32 getKeyUsage()
const;
117 bool isEnabledFor(KeyUsage ku)
const;
125 virtual void commit2Config(
CA& ca,
Type type)
const ;
132 virtual bool valid()
const;
141 virtual blocxx::StringArray verify()
const;
146 virtual blocxx::StringArray dump()
const;
149 bool validKeyUsage(blocxx::UInt32 keyUsage)
const;
188 void setNsCertType(blocxx::UInt32 nsCertTypes);
193 blocxx::UInt32 getNsCertType()
const;
198 bool isEnabledFor(NsCertType nsCertType)
const;
206 virtual void commit2Config(
CA& ca,
Type type)
const;
213 virtual bool valid()
const;
222 virtual blocxx::StringArray verify()
const;
227 virtual blocxx::StringArray dump()
const;
233 #endif // LIMAL_CA_MGM_BIT_EXTENSIONS_HPP