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

Holds SignatureInfo and SignatureValue in a Data packet. More...

#include <signature.hpp>

Inheritance diagram for ndn::Signature:
Collaboration diagram for ndn::Signature:

Classes

class  Error
 

Public Member Functions

 Signature ()=default
 
 Signature (const Block &info, const Block &value=Block())
 
 Signature (const SignatureInfo &info, const Block &value=Block())
 
 operator bool () const
 Determine whether SignatureInfo is valid. More...
 
const SignatureInfo & getSignatureInfo () const
 Get SignatureInfo. More...
 
const Block & getInfo () const
 Get SignatureInfo as wire format. More...
 
void setInfo (const Block &info)
 Decode SignatureInfo from wire format. More...
 
void setInfo (const SignatureInfo &info)
 Set SignatureInfo. More...
 
const Block & getValue () const
 Get SignatureValue. More...
 
void setValue (const Block &value)
 Set SignatureValue. More...
 
tlv::SignatureTypeValue getType () const
 Get SignatureType. More...
 
bool hasKeyLocator () const
 Check if KeyLocator exists in SignatureInfo. More...
 
const KeyLocator & getKeyLocator () const
 Get KeyLocator. More...
 
void setKeyLocator (const KeyLocator &keyLocator)
 Set KeyLocator. More...
 
void unsetKeyLocator ()
 Unset KeyLocator. More...
 

Protected Attributes

SignatureInfo m_info
 
Block m_value
 

Detailed Description

Holds SignatureInfo and SignatureValue in a Data packet.

A Signature is not a TLV element itself. It collects SignatureInfo and SignatureValue TLV elements together for easy access. In most cases, an application should use a subclass of Signature such as DigestSha256 , SignatureSha256WithRsa , or SignatureSha256WithEcdsa instead of using Signature type directly.

Definition at line 37 of file signature.hpp.

Constructor & Destructor Documentation

◆ Signature() [1/3]

ndn::Signature::Signature ( )
default

◆ Signature() [2/3]

ndn::Signature::Signature ( const Block &  info,
const Block &  value = Block() 
)
explicit

Definition at line 29 of file signature.cpp.

◆ Signature() [3/3]

ndn::Signature::Signature ( const SignatureInfo &  info,
const Block &  value = Block() 
)
explicit

Definition at line 36 of file signature.cpp.

Member Function Documentation

◆ operator bool()

ndn::Signature::operator bool ( ) const
inlineexplicit

Determine whether SignatureInfo is valid.

Definition at line 57 of file signature.hpp.

References ndn::SignatureInfo::getSignatureType(), and m_info.

◆ getSignatureInfo()

◆ getInfo()

const Block& ndn::Signature::getInfo ( ) const
inline

Get SignatureInfo as wire format.

Definition at line 73 of file signature.hpp.

References m_info, and ndn::SignatureInfo::wireEncode().

Referenced by ndn::Data::wireEncode().

◆ setInfo() [1/2]

void ndn::Signature::setInfo ( const Block &  info)

Decode SignatureInfo from wire format.

Exceptions
tlv::Errordecode error

Definition at line 52 of file signature.cpp.

References m_info, and ndn::tlv::SignatureInfo.

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

◆ setInfo() [2/2]

void ndn::Signature::setInfo ( const SignatureInfo &  info)
inline

Set SignatureInfo.

Definition at line 87 of file signature.hpp.

References m_info.

◆ getValue()

const Block& ndn::Signature::getValue ( ) const
inline

Get SignatureValue.

Definition at line 95 of file signature.hpp.

References m_value.

Referenced by ndn::operator<<(), ndn::operator==(), ndn::security::parse(), and ndn::Data::wireEncode().

◆ setValue()

void ndn::Signature::setValue ( const Block &  value)

Set SignatureValue.

Exceptions
tlv::ErrorTLV-TYPE of supplied block is not SignatureValue, or the block does not have TLV-VALUE

Definition at line 58 of file signature.cpp.

References m_value, NDN_THROW, ndn::tlv::SignatureValue, and ndn::Block::type().

Referenced by ndn::Data::setSignatureValue(), and ndn::Data::wireDecode().

◆ getType()

◆ hasKeyLocator()

bool ndn::Signature::hasKeyLocator ( ) const
inline

◆ getKeyLocator()

const KeyLocator& ndn::Signature::getKeyLocator ( ) const
inline

Get KeyLocator.

Exceptions
tlv::ErrorKeyLocator does not exist in SignatureInfo

Definition at line 125 of file signature.hpp.

References ndn::SignatureInfo::getKeyLocator(), and m_info.

Referenced by ndn::security::v2::operator<<().

◆ setKeyLocator()

void ndn::Signature::setKeyLocator ( const KeyLocator &  keyLocator)
inline

Set KeyLocator.

Definition at line 133 of file signature.hpp.

References m_info, and ndn::SignatureInfo::setKeyLocator().

◆ unsetKeyLocator()

void ndn::Signature::unsetKeyLocator ( )
inline

Unset KeyLocator.

Note
Subclasses of Signature may provide advisory (non-virtual) override to prevent unsetting KeyLocator if it is required by the specification.

Definition at line 144 of file signature.hpp.

References m_info, and ndn::SignatureInfo::unsetKeyLocator().

Member Data Documentation

◆ m_info

SignatureInfo ndn::Signature::m_info
protected

◆ m_value

Block ndn::Signature::m_value
mutableprotected

Definition at line 151 of file signature.hpp.

Referenced by getValue(), and setValue().


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