certificate-extension.hpp
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
23 #ifndef NDN_CERTIFICATE_EXTENSION_HPP
24 #define NDN_CERTIFICATE_EXTENSION_HPP
25 
26 #include "../../common.hpp"
27 #include "../../util/blob.hpp"
28 #include "../../encoding/oid.hpp"
29 
30 namespace ndn {
31 
32 class DerNode;
33 
38 {
39 public:
46  CertificateExtension(const std::string& oid, const bool isCritical, const Blob& value)
47  : extensionId_(oid), isCritical_(isCritical), extensionValue_(value)
48  {
49  }
50 
57  CertificateExtension(const OID& oid, const bool isCritical, const Blob& value)
58  : extensionId_(oid), isCritical_(isCritical), extensionValue_(value)
59  {
60  }
61 
65  virtual
67 
72  ptr_lib::shared_ptr<DerNode>
73  toDer() const;
74 
75  Blob
76  toDerBlob() const;
77 
78  const OID&
79  getOid() const { return extensionId_; }
80 
81  bool
82  getIsCritical() const { return isCritical_; }
83 
84  const Blob&
85  getValue() const { return extensionValue_; }
86 
87 protected:
88  OID extensionId_;
89  bool isCritical_;
90  Blob extensionValue_;
91 };
92 
93 }
94 
95 #endif
Copyright (C) 2013-2016 Regents of the University of California.
Definition: common.hpp:35
A CertificateExtension represents the Extension entry in a certificate.
Definition: certificate-extension.hpp:37
A Blob holds a pointer to an immutable byte array implemented as const std::vector.
Definition: blob.hpp:42
CertificateExtension(const OID &oid, const bool isCritical, const Blob &value)
Create a new CertificateExtension.
Definition: certificate-extension.hpp:57
CertificateExtension(const std::string &oid, const bool isCritical, const Blob &value)
Create a new CertificateExtension.
Definition: certificate-extension.hpp:46
virtual ~CertificateExtension()
The virtual destructor.
Definition: certificate-extension.hpp:66
Definition: oid.hpp:31
ptr_lib::shared_ptr< DerNode > toDer() const
encode the object into DER syntax tree
Definition: certificate-extension.cpp:31