libcryptosec
Extension.h
Go to the documentation of this file.
1 #ifndef EXTENSION_H_
2 #define EXTENSION_H_
3 
4 #include <openssl/x509.h>
5 #include <openssl/x509v3.h>
6 
7 #include <libcryptosec/Base64.h>
8 
9 #include "ObjectIdentifier.h"
11 
13 
14 class Extension
15 {
16 public:
17  enum Name
18  {
33  };
34 
35  Extension(X509_EXTENSION *ext) throw (CertificationException);
36  Extension(std::string oid, bool critical, std::string valueBase64) throw (CertificationException);
37  virtual ~Extension();
38 
44  virtual std::string getXmlEncoded();
45  virtual std::string getXmlEncoded(std::string tab);
46  std::string toXml(std::string tab = "") throw(CertificationException);
47  virtual std::string extValue2Xml(std::string tab = "");
49  std::string getName();
51  ByteArray getValue() const;
52  std::string getBase64Value();
53  void setCritical(bool critical);
54  bool isCritical() const;
55  virtual X509_EXTENSION* getX509Extension();
56  static Extension::Name getName(int nid);
57  static Extension::Name getName(X509_EXTENSION *ext);
58 protected:
59  Extension();
61  bool critical;
63 };
64 
65 #endif /*EXTENSION_H_*/
Definition: Extension.h:32
bool critical
Definition: Extension.h:61
std::string getBase64Value()
Definition: Extension.cpp:85
Extension::Name getTypeName()
Definition: Extension.cpp:75
Definition: Extension.h:19
ByteArray value
Definition: Extension.h:62
virtual std::string extValue2Xml(std::string tab="")
Definition: Extension.cpp:43
ByteArray getValue() const
Definition: Extension.cpp:80
Definition: Extension.h:20
ObjectIdentifier objectIdentifier
Definition: Extension.h:60
Definition: CertificationException.h:6
Definition: Extension.h:22
Definition: Extension.h:24
Definition: ObjectIdentifier.h:11
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
Definition: Extension.h:25
Definition: Extension.h:28
Extension()
Definition: Extension.cpp:3
Definition: Extension.h:26
bool isCritical() const
Definition: Extension.cpp:90
Definition: Extension.h:21
virtual std::string getXmlEncoded()
Definition: Extension.cpp:48
Definition: Extension.h:30
Definition: Extension.h:23
Definition: Extension.h:31
virtual X509_EXTENSION * getX509Extension()
Definition: Extension.cpp:100
Definition: Extension.h:29
Definition: Extension.h:14
void setCritical(bool critical)
Definition: Extension.cpp:95
Name
Definition: Extension.h:17
virtual ~Extension()
Definition: Extension.cpp:26
std::string getName()
Definition: Extension.cpp:70
ObjectIdentifier getObjectIdentifier() const
Definition: Extension.cpp:65
std::string toXml(std::string tab="")
Definition: Extension.cpp:30
Definition: Extension.h:27