NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::Certificate Class Reference

#include <certificate.hpp>

Inheritance diagram for ndn::Certificate:
Collaboration diagram for ndn::Certificate:

Classes

class  Error
 

Public Types

typedef std::vector< CertificateSubjectDescription > SubjectDescriptionList
 
typedef std::vector< CertificateExtension > ExtensionList
 

Public Member Functions

 Certificate ()
 The default constructor. More...
 
 Certificate (const Data &data)
 Create a Certificate from the content in the data packet. More...
 
 Certificate (const Block &block)
 Create a Certificate from the a block. More...
 
virtual ~Certificate ()
 
void wireDecode (const Block &wire)
 
void encode ()
 encode certificate info into content More...
 
void addSubjectDescription (const CertificateSubjectDescription &description)
 Add a subject description. More...
 
const SubjectDescriptionList & getSubjectDescriptionList () const
 
SubjectDescriptionList & getSubjectDescriptionList ()
 
void addExtension (const CertificateExtension &extension)
 Add a certificate extension. More...
 
const ExtensionList & getExtensionList () const
 
ExtensionList & getExtensionList ()
 
void setNotBefore (const time::system_clock::TimePoint &notBefore)
 
time::system_clock::TimePoint & getNotBefore ()
 
const time::system_clock::TimePoint & getNotBefore () const
 
void setNotAfter (const time::system_clock::TimePoint &notAfter)
 
time::system_clock::TimePoint & getNotAfter ()
 
const time::system_clock::TimePoint & getNotAfter () const
 
void setPublicKeyInfo (const PublicKey &key)
 
PublicKey & getPublicKeyInfo ()
 
const PublicKey & getPublicKeyInfo () const
 
bool isTooEarly ()
 Check if the certificate is valid. More...
 
bool isTooLate ()
 Check if the certificate is valid. More...
 
void printCertificate (std::ostream &os, const std::string &indent="") const
 
- Public Member Functions inherited from ndn::Data
 Data ()
 Create an empty Data object. More...
 
 Data (const Name &name)
 Create a new Data object with the given name. More...
 
 Data (const Block &wire)
 Create a new Data object from wire encoding. More...
 
template<encoding::Tag TAG>
size_t wireEncode (EncodingImpl< TAG > &encoder, bool wantUnsignedPortionOnly=false) const
 Fast encoding or block size estimation. More...
 
const Block & wireEncode () const
 Encode to a wire format. More...
 
const Block & wireEncode (EncodingBuffer &encoder, const Block &signatureValue) const
 Finalize Data packet encoding with the specified SignatureValue. More...
 
void wireDecode (const Block &wire)
 Decode from the wire format. More...
 
bool hasWire () const
 Check if Data is already has wire encoding. More...
 
const Name & getName () const
 Get name of the Data packet. More...
 
Data & setName (const Name &name)
 Set name to a copy of the given Name. More...
 
const Name & getFullName () const
 Get full name of Data packet, including the implicit digest. More...
 
const MetaInfo & getMetaInfo () const
 Get MetaInfo block from Data packet. More...
 
Data & setMetaInfo (const MetaInfo &metaInfo)
 Set metaInfo to a copy of the given MetaInfo. More...
 
uint32_t getContentType () const
 
Data & setContentType (uint32_t type)
 
const time::milliseconds & getFreshnessPeriod () const
 
Data & setFreshnessPeriod (const time::milliseconds &freshnessPeriod)
 
const name::Component & getFinalBlockId () const
 
Data & setFinalBlockId (const name::Component &finalBlockId)
 
const Block & getContent () const
 Get content Block. More...
 
Data & setContent (const uint8_t *buffer, size_t bufferSize)
 Set the content from the buffer (buffer will be copied) More...
 
Data & setContent (const Block &block)
 Set the content from the block. More...
 
Data & setContent (const ConstBufferPtr &contentValue)
 Set the content from the pointer to immutable buffer. More...
 
const Signature & getSignature () const
 
Data & setSignature (const Signature &signature)
 Set the signature to a copy of the given signature. More...
 
Data & setSignatureValue (const Block &value)
 
nfd::LocalControlHeader & getLocalControlHeader ()
 
const nfd::LocalControlHeader & getLocalControlHeader () const
 
uint64_t getIncomingFaceId () const
 
Data & setIncomingFaceId (uint64_t incomingFaceId)
 
nfd::LocalControlHeader::CachingPolicy getCachingPolicy () const
 
Data & setCachingPolicy (nfd::LocalControlHeader::CachingPolicy cachingPolicy)
 
bool operator== (const Data &other) const
 
bool operator!= (const Data &other) const
 
- Public Member Functions inherited from ndn::TagHost
template<typename T >
shared_ptr< T > getTag () const
 get a tag item More...
 
template<typename T >
void setTag (shared_ptr< T > tag) const
 set a tag item More...
 
template<typename T >
void removeTag () const
 remove tag item More...
 

Protected Member Functions

void decode ()
 
- Protected Member Functions inherited from ndn::Data
void onChanged ()
 Clear the wire encoding. More...
 

Protected Attributes

SubjectDescriptionList m_subjectDescriptionList
 
time::system_clock::TimePoint m_notBefore
 
time::system_clock::TimePoint m_notAfter
 
PublicKey m_key
 
ExtensionList m_extensionList
 

Detailed Description

Definition at line 37 of file certificate.hpp.

Member Typedef Documentation

Definition at line 51 of file certificate.hpp.

Constructor & Destructor Documentation

ndn::Certificate::Certificate ( )

The default constructor.

Definition at line 45 of file certificate.cpp.

ndn::Certificate::Certificate ( const Data &  data)
explicit

Create a Certificate from the content in the data packet.

Parameters
dataThe data packet with the content to decode.

Definition at line 51 of file certificate.cpp.

References decode().

ndn::Certificate::Certificate ( const Block &  block)
explicit

Create a Certificate from the a block.

Parameters
blockThe raw block of the certificate

Definition at line 58 of file certificate.cpp.

References decode().

ndn::Certificate::~Certificate ( )
virtual

Definition at line 64 of file certificate.cpp.

Member Function Documentation

void ndn::Certificate::wireDecode ( const Block &  wire)

Definition at line 69 of file certificate.cpp.

References decode(), and ndn::Data::wireDecode().

Referenced by ndn::IdentityCertificate::wireDecode().

void ndn::Certificate::addSubjectDescription ( const CertificateSubjectDescription &  description)
inline

Add a subject description.

Parameters
descriptionThe description to be added.

Definition at line 89 of file certificate.hpp.

References m_subjectDescriptionList.

const SubjectDescriptionList& ndn::Certificate::getSubjectDescriptionList ( ) const
inline

Definition at line 95 of file certificate.hpp.

References m_subjectDescriptionList.

SubjectDescriptionList& ndn::Certificate::getSubjectDescriptionList ( )
inline

Definition at line 101 of file certificate.hpp.

References m_subjectDescriptionList.

void ndn::Certificate::addExtension ( const CertificateExtension &  extension)
inline

Add a certificate extension.

Parameters
extensionthe extension to be added

Definition at line 111 of file certificate.hpp.

References m_extensionList.

const ExtensionList& ndn::Certificate::getExtensionList ( ) const
inline

Definition at line 117 of file certificate.hpp.

References m_extensionList.

ExtensionList& ndn::Certificate::getExtensionList ( )
inline

Definition at line 123 of file certificate.hpp.

References m_extensionList.

void ndn::Certificate::setNotBefore ( const time::system_clock::TimePoint &  notBefore)
inline

Definition at line 129 of file certificate.hpp.

References m_notBefore.

time::system_clock::TimePoint& ndn::Certificate::getNotBefore ( )
inline

Definition at line 135 of file certificate.hpp.

References m_notBefore.

Referenced by ndn::SecPublicInfoSqlite3::addCertificate().

const time::system_clock::TimePoint& ndn::Certificate::getNotBefore ( ) const
inline

Definition at line 141 of file certificate.hpp.

References m_notBefore.

void ndn::Certificate::setNotAfter ( const time::system_clock::TimePoint &  notAfter)
inline

Definition at line 147 of file certificate.hpp.

References m_notAfter.

time::system_clock::TimePoint& ndn::Certificate::getNotAfter ( )
inline

Definition at line 153 of file certificate.hpp.

References m_notAfter.

Referenced by ndn::SecPublicInfoSqlite3::addCertificate().

const time::system_clock::TimePoint& ndn::Certificate::getNotAfter ( ) const
inline

Definition at line 159 of file certificate.hpp.

References m_notAfter.

void ndn::Certificate::setPublicKeyInfo ( const PublicKey &  key)
inline

Definition at line 165 of file certificate.hpp.

References m_key.

const PublicKey& ndn::Certificate::getPublicKeyInfo ( ) const
inline

Definition at line 177 of file certificate.hpp.

References decode(), isTooEarly(), isTooLate(), m_key, and printCertificate().

bool ndn::Certificate::isTooEarly ( )

Check if the certificate is valid.

Returns
True if the current time is earlier than notBefore.

Definition at line 76 of file certificate.cpp.

References m_notBefore, and ndn::time::system_clock::now().

Referenced by getPublicKeyInfo().

bool ndn::Certificate::isTooLate ( )

Check if the certificate is valid.

Returns
True if the current time is later than notAfter.

Definition at line 85 of file certificate.cpp.

References m_notAfter, and ndn::time::system_clock::now().

Referenced by getPublicKeyInfo().

void ndn::Certificate::decode ( )
protected

Member Data Documentation

SubjectDescriptionList ndn::Certificate::m_subjectDescriptionList
protected
time::system_clock::TimePoint ndn::Certificate::m_notBefore
protected
time::system_clock::TimePoint ndn::Certificate::m_notAfter
protected

Definition at line 206 of file certificate.hpp.

Referenced by decode(), encode(), getNotAfter(), isTooLate(), printCertificate(), and setNotAfter().

PublicKey ndn::Certificate::m_key
protected

Definition at line 207 of file certificate.hpp.

Referenced by decode(), encode(), getPublicKeyInfo(), printCertificate(), and setPublicKeyInfo().

ExtensionList ndn::Certificate::m_extensionList
protected

Definition at line 208 of file certificate.hpp.

Referenced by addExtension(), decode(), encode(), and getExtensionList().


The documentation for this class was generated from the following files: