The back-end implementation of a file-based TPM. More...
#include <back-end-file.hpp>
Classes | |
class | Impl |
Public Member Functions | |
BackEndFile (const std::string &location="") | |
Create file-based TPM backend. More... | |
~BackEndFile () final | |
Public Member Functions inherited from ndn::security::tpm::BackEnd | |
virtual | ~BackEnd () |
bool | hasKey (const Name &keyName) const |
Check if the key with name keyName exists in the TPM. More... | |
unique_ptr< KeyHandle > | getKeyHandle (const Name &keyName) const |
Get the handle of the key with name keyName . More... | |
unique_ptr< KeyHandle > | createKey (const Name &identityName, const KeyParams ¶ms) |
Create a key for identityName according to params . More... | |
void | deleteKey (const Name &keyName) |
Delete the key with name keyName . More... | |
ConstBufferPtr | exportKey (const Name &keyName, const char *pw, size_t pwLen) |
Get the private key with name keyName in encrypted PKCS #8 format. More... | |
void | importKey (const Name &keyName, const uint8_t *pkcs8, size_t pkcs8Len, const char *pw, size_t pwLen) |
Import a private key in encrypted PKCS #8 format. More... | |
void | importKey (const Name &keyName, shared_ptr< transform::PrivateKey > key) |
Import a private key. More... | |
virtual bool | isTerminalMode () const |
Check if the TPM is in terminal mode. More... | |
virtual void | setTerminalMode (bool isTerminal) const |
Set the terminal mode of the TPM. More... | |
virtual bool | isTpmLocked () const |
Check if the TPM is locked. More... | |
virtual NDN_CXX_NODISCARD bool | unlockTpm (const char *pw, size_t pwLen) const |
Unlock the TPM. More... | |
Static Public Member Functions | |
static const std::string & | getScheme () |
Additional Inherited Members | |
Public Types inherited from ndn::security::tpm::BackEnd | |
using | Error = Tpm::Error |
Protected Member Functions inherited from ndn::security::tpm::BackEnd | |
Name | constructAsymmetricKeyName (const KeyHandle &key, const Name &identity, const KeyParams ¶ms) const |
Construct and return the name of a RSA or EC key, based on identity and params . More... | |
Name | constructHmacKeyName (const transform::PrivateKey &key, const Name &identity, const KeyParams ¶ms) const |
Construct and return the name of a HMAC key, based on identity and params . More... | |
The back-end implementation of a file-based TPM.
In this TPM, each private key is stored in a separate file with permission 0400, i.e., owner read-only. The key is stored in PKCS #1 format in base64 encoding.
Definition at line 42 of file back-end-file.hpp.
|
explicit |
Create file-based TPM backend.
location | Directory to store private keys. |
Definition at line 85 of file back-end-file.cpp.
|
finaldefault |
|
static |
Definition at line 93 of file back-end-file.cpp.