ndn::security Namespace Reference

Namespaces

 conf
 
 detail
 
 pib
 
 tpm
 
 transform
 
 v1
 
 v2
 

Data Structures

class  CertificateCache
 Interface for the cache of validated certificates. More...
 
class  CertificateCacheTtl
 Cache of validated certificates with freshness-based eviction policy. More...
 
class  CommandInterestPreparer
 Helper class to prepare command interest name. More...
 
class  CommandInterestSigner
 Helper class to create command interests. More...
 
class  CommandInterestValidator
 a validator for stop-and-wait command Interests More...
 
class  SafeBag
 a secured container for sensitive information(certificate, private key) More...
 
class  SigningInfo
 Signing parameters passed to KeyChain. More...
 
class  ValidationRequest
 ValidationRequest contains information related to further validation. More...
 
class  Validator
 provides the interfaces for packet validation. More...
 
class  ValidatorConfig
 The validator which can be set up via a configuration file. More...
 
class  ValidatorNull
 
class  ValidatorRegex
 
class  ValidityPeriod
 Abstraction of validity period. More...
 

Typedefs

typedef function< void(const shared_ptr< const Interest > &)> OnInterestValidated
 Callback to report a successful Interest validation. More...
 
typedef function< void(const shared_ptr< const Interest > &, const std::string &)> OnInterestValidationFailed
 Callback to report a failed Interest validation. More...
 
typedef function< void(const shared_ptr< const Data > &)> OnDataValidated
 Callback to report a successful Data validation. More...
 
typedef function< void(const shared_ptr< const Data > &, const std::string &)> OnDataValidationFailed
 Callback to report a failed Data validation. More...
 

Functions

std::ostream & operator<< (std::ostream &os, CommandInterestValidator::ErrorCode error)
 
static void invokeReject (const OnInterestValidationFailed &reject, const Interest &interest, CommandInterestValidator::ErrorCode error)
 
template size_t SafeBag::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t SafeBag::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
SigningInfo signingByIdentity (const Name &identityName)
 
SigningInfo signingByIdentity (const Identity &identity)
 
SigningInfo signingByKey (const Name &keyName)
 
SigningInfo signingByKey (const Key &key)
 
SigningInfo signingByCertificate (const Name &certName)
 
SigningInfo signingByCertificate (const v2::Certificate &cert)
 
SigningInfo signingWithSha256 ()
 
std::ostream & operator<< (std::ostream &os, const SigningInfo &si)
 
template size_t ValidityPeriod::wireEncode< encoding::EncoderTag > (EncodingImpl< encoding::EncoderTag > &encoder) const
 
template size_t ValidityPeriod::wireEncode< encoding::EstimatorTag > (EncodingImpl< encoding::EstimatorTag > &encoder) const
 
std::ostream & operator<< (std::ostream &os, const ValidityPeriod &period)
 
bool verifySignature (const uint8_t *blob, size_t blobLen, const uint8_t *sig, size_t sigLen, const v2::PublicKey &pKey)
 Verify blob using key against sig. More...
 
bool verifySignature (const uint8_t *blob, size_t blobLen, const uint8_t *sig, size_t sigLen, const uint8_t *key, size_t keyLen)
 Verify blob using key against sig. More...
 
static std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > parse (const Data &data)
 
static std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > parse (const Interest &interest)
 
static bool verifySignature (const std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > &params, const v2::PublicKey &pKey)
 
static bool verifySignature (const std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > &params, const uint8_t *key, size_t keyLen)
 
bool verifySignature (const Data &data, const v2::PublicKey &key)
 Verify data using key. More...
 
bool verifySignature (const Interest &interest, const v2::PublicKey &key)
 Verify interest using key. More...
 
bool verifySignature (const Data &data, const pib::Key &key)
 Verify data using key. More...
 
bool verifySignature (const Interest &interest, const pib::Key &key)
 Verify interest using key. More...
 
bool verifySignature (const Data &data, const uint8_t *key, size_t keyLen)
 Verify data using key. More...
 
bool verifySignature (const Interest &interest, const uint8_t *key, size_t keyLen)
 Verify interest using key. More...
 
bool verifySignature (const Data &data, const v2::Certificate &cert)
 Verify data using cert. More...
 
bool verifySignature (const Interest &interest, const v2::Certificate &cert)
 Verify interest using cert. More...
 
bool verifyDigest (const uint8_t *blob, size_t blobLen, const uint8_t *digest, size_t digestLen, DigestAlgorithm algorithm)
 Verify blob against digest using algorithm. More...
 
bool verifyDigest (const Data &data, DigestAlgorithm algorithm)
 Verify data against digest algorithm. More...
 
bool verifyDigest (const Interest &interest, DigestAlgorithm algorithm)
 Verify interest against digest algorithm. More...
 

Variables

 WireEncodable< SafeBag >
 
 WireDecodable< SafeBag >
 
static Oid SECP256R1 ("1.2.840.10045.3.1.7")
 
static Oid SECP384R1 ("1.3.132.0.34")
 
 WireEncodable< ValidityPeriod >
 
 WireEncodableWithEncodingBuffer< ValidityPeriod >
 
 WireDecodable< ValidityPeriod >
 
static const size_t ISO_DATETIME_SIZE = 15
 
static const size_t NOT_BEFORE_OFFSET = 0
 
static const size_t NOT_AFTER_OFFSET = 1
 

Typedef Documentation

typedef function<void(const shared_ptr<const Data>&)> ndn::security::OnDataValidated

Callback to report a successful Data validation.

Definition at line 38 of file validation-request.hpp.

typedef function<void(const shared_ptr<const Data>&, const std::string&)> ndn::security::OnDataValidationFailed

Callback to report a failed Data validation.

Definition at line 42 of file validation-request.hpp.

typedef function<void(const shared_ptr<const Interest>&)> ndn::security::OnInterestValidated

Callback to report a successful Interest validation.

Definition at line 31 of file validation-request.hpp.

typedef function<void(const shared_ptr<const Interest>&, const std::string&)> ndn::security::OnInterestValidationFailed

Callback to report a failed Interest validation.

Definition at line 35 of file validation-request.hpp.

Function Documentation

static void ndn::security::invokeReject ( const OnInterestValidationFailed reject,
const Interest interest,
CommandInterestValidator::ErrorCode  error 
)
static

Definition at line 56 of file command-interest-validator.cpp.

std::ostream & ndn::security::operator<< ( std::ostream &  os,
CommandInterestValidator::ErrorCode  error 
)

Definition at line 30 of file command-interest-validator.cpp.

std::ostream & ndn::security::operator<< ( std::ostream &  os,
const ValidityPeriod period 
)

Definition at line 170 of file validity-period.cpp.

std::ostream & ndn::security::operator<< ( std::ostream &  os,
const SigningInfo si 
)

Definition at line 171 of file signing-info.cpp.

static std::tuple<bool, const uint8_t*, size_t, const uint8_t*, size_t> ndn::security::parse ( const Data data)
static

Definition at line 68 of file verification-helpers.cpp.

static std::tuple<bool, const uint8_t*, size_t, const uint8_t*, size_t> ndn::security::parse ( const Interest interest)
static

Definition at line 83 of file verification-helpers.cpp.

template size_t ndn::security::SafeBag::wireEncode< encoding::EncoderTag > ( EncodingImpl< encoding::EncoderTag > &  encoder) const
template size_t ndn::security::SafeBag::wireEncode< encoding::EstimatorTag > ( EncodingImpl< encoding::EstimatorTag > &  encoder) const
SigningInfo ndn::security::signingByCertificate ( const Name certName)
Returns
a SigningInfo for signing with a certificate

Definition at line 52 of file signing-helpers.cpp.

SigningInfo ndn::security::signingByCertificate ( const v2::Certificate cert)
Returns
a SigningInfo for signing with a certificate

Definition at line 58 of file signing-helpers.cpp.

SigningInfo ndn::security::signingByIdentity ( const Name identityName)
Returns
a SigningInfo for signing with an identity

Definition at line 28 of file signing-helpers.cpp.

SigningInfo ndn::security::signingByIdentity ( const Identity &  identity)
Returns
a SigningInfo for signing with an identity

Definition at line 34 of file signing-helpers.cpp.

SigningInfo ndn::security::signingByKey ( const Name keyName)
Returns
a SigningInfo for signing with a key

Definition at line 40 of file signing-helpers.cpp.

SigningInfo ndn::security::signingByKey ( const Key &  key)
Returns
a SigningInfo for signing with a key

Definition at line 46 of file signing-helpers.cpp.

SigningInfo ndn::security::signingWithSha256 ( )
Returns
a SigningInfo for signing with Sha256

Definition at line 64 of file signing-helpers.cpp.

template size_t ndn::security::ValidityPeriod::wireEncode< encoding::EncoderTag > ( EncodingImpl< encoding::EncoderTag > &  encoder) const
template size_t ndn::security::ValidityPeriod::wireEncode< encoding::EstimatorTag > ( EncodingImpl< encoding::EstimatorTag > &  encoder) const
bool ndn::security::verifyDigest ( const uint8_t *  blob,
size_t  blobLen,
const uint8_t *  digest,
size_t  digestLen,
DigestAlgorithm  algorithm 
)

Verify blob against digest using algorithm.

This is the core function, all other verifyDigest overloads are implemented in terms of this function.

Definition at line 190 of file verification-helpers.cpp.

bool ndn::security::verifyDigest ( const Data data,
DigestAlgorithm  algorithm 
)

Verify data against digest algorithm.

Definition at line 212 of file verification-helpers.cpp.

bool ndn::security::verifyDigest ( const Interest interest,
DigestAlgorithm  algorithm 
)

Verify interest against digest algorithm.

Note
This method verifies only signature of the signed interest
See also
docs/specs/signed-interest.rst

Definition at line 231 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const uint8_t *  blob,
size_t  blobLen,
const uint8_t *  sig,
size_t  sigLen,
const v2::PublicKey &  pKey 
)

Verify blob using key against sig.

This is the core function, all other verifySignature overloads are implemented in terms of this function.

Definition at line 37 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const uint8_t *  data,
size_t  dataLen,
const uint8_t *  sig,
size_t  sigLen,
const uint8_t *  key,
size_t  keyLen 
)

Verify blob using key against sig.

Definition at line 53 of file verification-helpers.cpp.

static bool ndn::security::verifySignature ( const std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > &  params,
const v2::PublicKey &  pKey 
)
static

Definition at line 104 of file verification-helpers.cpp.

static bool ndn::security::verifySignature ( const std::tuple< bool, const uint8_t *, size_t, const uint8_t *, size_t > &  params,
const uint8_t *  key,
size_t  keyLen 
)
static

Definition at line 122 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Data data,
const v2::PublicKey &  key 
)

Verify data using key.

Definition at line 140 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Interest interest,
const v2::PublicKey &  key 
)

Verify interest using key.

Note
This method verifies only signature of the signed interest
See also
docs/specs/signed-interest.rst

Definition at line 146 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Data data,
const pib::Key key 
)

Verify data using key.

Definition at line 152 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Interest interest,
const pib::Key key 
)

Verify interest using key.

Note
This method verifies only signature of the signed interest
See also
docs/specs/signed-interest.rst

Definition at line 158 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Data data,
const uint8_t *  key,
size_t  keyLen 
)

Verify data using key.

Definition at line 164 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Interest interest,
const uint8_t *  key,
size_t  keyLen 
)

Verify interest using key.

Note
This method verifies only signature of the signed interest
See also
docs/specs/signed-interest.rst

Definition at line 170 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Data data,
const v2::Certificate cert 
)

Verify data using cert.

Definition at line 176 of file verification-helpers.cpp.

bool ndn::security::verifySignature ( const Interest interest,
const v2::Certificate cert 
)

Verify interest using cert.

Note
This method verifies only signature of the signed interest
See also
docs/specs/signed-interest.rst

Definition at line 182 of file verification-helpers.cpp.

Variable Documentation

const size_t ndn::security::ISO_DATETIME_SIZE = 15
static

Definition at line 36 of file validity-period.cpp.

const size_t ndn::security::NOT_AFTER_OFFSET = 1
static

Definition at line 38 of file validity-period.cpp.

const size_t ndn::security::NOT_BEFORE_OFFSET = 0
static

Definition at line 37 of file validity-period.cpp.

Oid ndn::security::SECP256R1("1.2.840.10045.3.1.7")
static
Oid ndn::security::SECP384R1("1.3.132.0.34")
static
ndn::security::WireDecodable< SafeBag >

Definition at line 31 of file safe-bag.cpp.

ndn::security::WireDecodable< ValidityPeriod >

Definition at line 32 of file validity-period.cpp.

ndn::security::WireEncodable< SafeBag >

Definition at line 30 of file safe-bag.cpp.

ndn::security::WireEncodable< ValidityPeriod >

Definition at line 30 of file validity-period.cpp.

ndn::security::WireEncodableWithEncodingBuffer< ValidityPeriod >

Definition at line 31 of file validity-period.cpp.