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, span< const uint8_t > pkcs8, 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 89 of file back-end-file.cpp.
References ~BackEndFile().
|
finaldefault |
Referenced by BackEndFile().
|
static |
Definition at line 97 of file back-end-file.cpp.
References ndn::OBufferStream::buf(), ndn::security::tpm::BackEnd::constructAsymmetricKeyName(), ndn::EC, ndn::security::transform::generatePrivateKey(), ndn::KeyParams::getKeyType(), ndn::security::transform::PrivateKey::loadPkcs8(), NDN_THROW, NDN_THROW_NESTED, ndn::RSA, and ndn::security::transform::PrivateKey::savePkcs1Base64().