common.hpp File Reference
#include "detail/config.hpp"
#include <functional>
#include <stdexcept>
#include <ndn-cxx/data.hpp>
#include <ndn-cxx/encoding/buffer-stream.hpp>
#include <ndn-cxx/face.hpp>
#include <ndn-cxx/ims/in-memory-storage-persistent.hpp>
#include <ndn-cxx/interest.hpp>
#include <ndn-cxx/security/certificate.hpp>
#include <ndn-cxx/security/key-chain.hpp>
#include <ndn-cxx/security/signing-info.hpp>
#include <ndn-cxx/security/transform/public-key.hpp>
#include <ndn-cxx/security/validation-callback.hpp>
#include <ndn-cxx/security/validation-error.hpp>
#include <ndn-cxx/security/validator.hpp>
#include <boost/assert.hpp>
+ Include dependency graph for common.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ndn::nac::Error
 

Namespaces

 ndn
 
 ndn::nac
 
 ndn::nac::tlv
 

Macros

#define NAC_PROTECTED_WITH_TESTS_ELSE_PRIVATE   private
 
#define NAC_PUBLIC_WITH_TESTS_ELSE_PRIVATE   private
 
#define NAC_PUBLIC_WITH_TESTS_ELSE_PROTECTED   protected
 
#define NAC_VIRTUAL_WITH_TESTS
 

Typedefs

using ndn::nac::ErrorCallback = std::function< void(const ErrorCode &, const std::string &)>
 

Enumerations

enum  {
  ndn::nac::tlv::EncryptedContent = 130 ,
  ndn::nac::tlv::EncryptedPayload = 132 ,
  ndn::nac::tlv::InitializationVector = 133 ,
  ndn::nac::tlv::EncryptedPayloadKey = 134
}
 
enum class  ndn::nac::ErrorCode {
  ndn::nac::KekRetrievalFailure = 1 ,
  ndn::nac::KekRetrievalTimeout = 2 ,
  ndn::nac::KekInvalidName = 3 ,
  ndn::nac::KdkRetrievalFailure = 11 ,
  ndn::nac::KdkRetrievalTimeout = 12 ,
  ndn::nac::KdkInvalidName = 13 ,
  ndn::nac::KdkDecryptionFailure = 14 ,
  ndn::nac::CkRetrievalFailure = 21 ,
  ndn::nac::CkRetrievalTimeout = 22 ,
  ndn::nac::CkInvalidName = 23 ,
  ndn::nac::MissingRequiredKeyLocator = 101 ,
  ndn::nac::TpmKeyNotFound = 102 ,
  ndn::nac::EncryptionFailure = 103
}
 

Functions

Name ndn::nac::convertKekNameToKdkPrefix (const Name &kekName, const ErrorCallback &onFailure)
 Convert KEK name to KDK prefix: More...
 
std::tuple< Name, Name, Name > ndn::nac::extractKdkInfoFromCkName (const Name &ckDataName, const Name &ckName, const ErrorCallback &onFailure)
 Extract KDK information from name of CK data packet name. More...
 

Variables

constexpr size_t ndn::nac::AES_IV_SIZE = 16
 
constexpr size_t ndn::nac::AES_KEY_SIZE = 32
 
const name::Component ndn::nac::CK {"CK"}
 
constexpr time::seconds ndn::nac::DEFAULT_CK_FRESHNESS_PERIOD = 1_h
 
constexpr time::seconds ndn::nac::DEFAULT_KDK_FRESHNESS_PERIOD = 1_h
 
constexpr time::seconds ndn::nac::DEFAULT_KEK_FRESHNESS_PERIOD = 1_h
 
const name::Component ndn::nac::ENCRYPTED_BY {"ENCRYPTED-BY"}
 
const name::Component ndn::nac::KDK {"KDK"}
 
const name::Component ndn::nac::KEK {"KEK"}
 
const name::Component ndn::nac::NAC {"NAC"}
 
constexpr time::seconds ndn::nac::RETRY_DELAY_AFTER_NACK = 1_s
 
constexpr time::seconds ndn::nac::RETRY_DELAY_KEK_RETRIEVAL = 60_s
 

Macro Definition Documentation

◆ NAC_PROTECTED_WITH_TESTS_ELSE_PRIVATE

#define NAC_PROTECTED_WITH_TESTS_ELSE_PRIVATE   private

Definition at line 34 of file common.hpp.

◆ NAC_PUBLIC_WITH_TESTS_ELSE_PRIVATE

#define NAC_PUBLIC_WITH_TESTS_ELSE_PRIVATE   private

Definition at line 33 of file common.hpp.

◆ NAC_PUBLIC_WITH_TESTS_ELSE_PROTECTED

#define NAC_PUBLIC_WITH_TESTS_ELSE_PROTECTED   protected

Definition at line 32 of file common.hpp.

◆ NAC_VIRTUAL_WITH_TESTS

#define NAC_VIRTUAL_WITH_TESTS

Definition at line 31 of file common.hpp.