libcryptosec
KeyUsageExtension.h
Go to the documentation of this file.
1 #ifndef KEYUSAGEEXTENSION_H_
2 #define KEYUSAGEEXTENSION_H_
3 
4 #include <openssl/asn1.h>
5 #include <openssl/x509.h>
6 #include <openssl/x509v3.h>
7 
8 #include "Extension.h"
9 
11 
13 {
14 public:
15  enum Usage
16  {
23  CRL_SIGN = 6,
26  };
28  KeyUsageExtension(X509_EXTENSION *ext) throw (CertificationException);
29  virtual ~KeyUsageExtension();
30 
36  std::string getXmlEncoded();
37  std::string getXmlEncoded(std::string tab);
38  std::string extValue2Xml(std::string tab = "");
39  void setUsage(KeyUsageExtension::Usage usage, bool value);
41  static std::string usage2Name(KeyUsageExtension::Usage usage);
42  X509_EXTENSION* getX509Extension();
43 protected:
44  bool usages[9];
45 };
46 
47 #endif /*KEYUSAGEEXTENSION_H_*/
void setUsage(KeyUsageExtension::Usage usage, bool value)
Definition: KeyUsageExtension.cpp:111
static std::string usage2Name(KeyUsageExtension::Usage usage)
Definition: KeyUsageExtension.cpp:158
Definition: KeyUsageExtension.h:21
virtual ~KeyUsageExtension()
Definition: KeyUsageExtension.cpp:48
ByteArray value
Definition: Extension.h:62
Definition: KeyUsageExtension.h:12
Definition: KeyUsageExtension.h:17
Definition: KeyUsageExtension.h:18
std::string extValue2Xml(std::string tab="")
Definition: KeyUsageExtension.cpp:67
Definition: CertificationException.h:6
bool usages[9]
Definition: KeyUsageExtension.h:44
Definition: KeyUsageExtension.h:22
Definition: KeyUsageExtension.h:24
X509_EXTENSION * getX509Extension()
Definition: KeyUsageExtension.cpp:143
Definition: KeyUsageExtension.h:25
Definition: KeyUsageExtension.h:23
Definition: Extension.h:14
KeyUsageExtension()
Definition: KeyUsageExtension.cpp:3
Definition: KeyUsageExtension.h:20
bool getUsage(KeyUsageExtension::Usage usage)
Definition: KeyUsageExtension.cpp:122
std::string getXmlEncoded()
Definition: KeyUsageExtension.cpp:84
Definition: KeyUsageExtension.h:19
Usage
Definition: KeyUsageExtension.h:15