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
 TPM front-end class. More...
 

Typedefs

using KeyRefOsx = detail::CFReleaser< SecKeyRef >
 

Functions

 NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND (BackEndFile)
 
 NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND (BackEndMem)
 
static CFReleaser< CFDataRef > makeCFDataNoCopy (span< const uint8_t > buf)
 
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...
 

Typedef Documentation

◆ KeyRefOsx

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

Function Documentation

◆ NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND() [1/2]

ndn::security::tpm::NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND ( BackEndFile  )

◆ NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND() [2/2]

ndn::security::tpm::NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND ( BackEndMem  )

◆ makeCFDataNoCopy()

static CFReleaser<CFDataRef> ndn::security::tpm::makeCFDataNoCopy ( span< const uint8_t >  buf)
static

◆ makeCFMutableDictionary()

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

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

Referenced by ndn::security::tpm::BackEndOsx::derivePublicKey(), and 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 85 of file back-end-osx.cpp.

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

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

◆ getDigestAlgorithm()

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

Definition at line 98 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 112 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

◆ exportItem()

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