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

Classes

class  BackEnd
 Abstract interface for a TPM backend implementation. More...
 
class  BackEndFile
 The back-end implementation of a file-based TPM. More...
 
class  BackEndMem
 The back-end implementation of an in-memory TPM. More...
 
class  BackEndOsx
 The back-end implementation of TPM based on macOS Keychain Services. More...
 
class  DummyKeyHandle
 
class  KeyHandle
 Abstraction of TPM key handle. More...
 
class  KeyHandleMem
 A TPM key handle that keeps the private key in memory. More...
 
class  KeyHandleOsx
 Abstraction of TPM key handle used by the TPM based on macOS Keychain Services. More...
 
class  Tpm
 represents the front-end of TPM More...
 

Typedefs

using KeyRefOsx = detail::CFReleaser< SecKeyRef >
 

Functions

static CFReleaser< CFDataRef > makeCFDataNoCopy (const uint8_t *buf, size_t buflen)
 
static CFReleaser< CFMutableDictionaryRef > makeCFMutableDictionary ()
 
static std::string getErrorMessage (OSStatus status)
 
static std::string getFailureReason (CFErrorRef err)
 
static CFTypeRef getAsymKeyType (KeyType keyType)
 
static CFTypeRef getDigestAlgorithm (DigestAlgorithm digestAlgo)
 
static int getDigestSize (DigestAlgorithm digestAlgo)
 
static KeyRefOsx getKeyRef (const Name &keyName)
 Get reference to private key with name keyName. More...
 
static void exportItem (const KeyRefOsx &keyRef, transform::PrivateKey &outKey)
 Export a private key from the Keychain to outKey. More...
 
 NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND (BackEndFile)
 
 NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND (BackEndMem)
 

Typedef Documentation

◆ KeyRefOsx

Definition at line 39 of file key-ref-osx.hpp.

Function Documentation

◆ makeCFDataNoCopy()

static CFReleaser<CFDataRef> ndn::security::tpm::makeCFDataNoCopy ( const uint8_t *  buf,
size_t  buflen 
)
static

◆ makeCFMutableDictionary()

static CFReleaser<CFMutableDictionaryRef> ndn::security::tpm::makeCFMutableDictionary ( )
static

Definition at line 53 of file back-end-osx.cpp.

Referenced by getKeyRef().

◆ getErrorMessage()

static std::string ndn::security::tpm::getErrorMessage ( OSStatus  status)
static

◆ getFailureReason()

static std::string ndn::security::tpm::getFailureReason ( CFErrorRef  err)
static

◆ getAsymKeyType()

static CFTypeRef ndn::security::tpm::getAsymKeyType ( KeyType  keyType)
static

Definition at line 81 of file back-end-osx.cpp.

References ndn::EC, and ndn::RSA.

◆ getDigestAlgorithm()

static CFTypeRef ndn::security::tpm::getDigestAlgorithm ( DigestAlgorithm  digestAlgo)
static

Definition at line 94 of file back-end-osx.cpp.

References ndn::SHA224, ndn::SHA256, ndn::SHA384, and ndn::SHA512.

Referenced by ndn::security::tpm::BackEndOsx::sign().

◆ getDigestSize()

static int ndn::security::tpm::getDigestSize ( DigestAlgorithm  digestAlgo)
static

Definition at line 108 of file back-end-osx.cpp.

References ndn::SHA224, ndn::SHA256, ndn::SHA384, and ndn::SHA512.

Referenced by ndn::security::tpm::BackEndOsx::sign().

◆ getKeyRef()

static KeyRefOsx ndn::security::tpm::getKeyRef ( const Name keyName)
static

Get reference to private key with name keyName.

Definition at line 128 of file back-end-osx.cpp.

References ndn::detail::cfstring::fromStdString(), getErrorMessage(), makeCFMutableDictionary(), ndn::detail::CFReleaser< T >::retain(), and ndn::Name::toUri().

◆ exportItem()

static void ndn::security::tpm::exportItem ( const KeyRefOsx keyRef,
transform::PrivateKey outKey 
)
static

◆ NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND() [1/2]

ndn::security::tpm::NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND ( BackEndFile  )

◆ NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND() [2/2]

ndn::security::tpm::NDN_CXX_V2_KEYCHAIN_REGISTER_TPM_BACKEND ( BackEndMem  )