The back-end implementation of an in-memory TPM.
More...
#include <ndn-cxx/security/tpm/back-end-mem.hpp>
The back-end implementation of an in-memory TPM.
Definition at line 34 of file back-end-mem.hpp.
ndn::security::tpm::BackEndMem::BackEndMem |
( |
const std::string & |
location = "" | ) |
|
|
explicit |
Create memory-based TPM backend.
- Parameters
-
location | Not used (required by the TPM registration interface). |
Definition at line 41 of file back-end-mem.cpp.
ndn::security::tpm::BackEndMem::~BackEndMem |
( |
| ) |
|
|
finaldefault |
unique_ptr< KeyHandle > ndn::security::tpm::BackEnd::createKey |
( |
const Name & |
identityName, |
|
|
const KeyParams & |
params |
|
) |
| |
|
inherited |
Create a key for identityName
according to params
.
- Returns
- The handle of the created key.
- Exceptions
-
Definition at line 51 of file back-end.cpp.
void ndn::security::tpm::BackEnd::deleteKey |
( |
const Name & |
keyName | ) |
|
|
inherited |
Delete the key with name keyName
.
- Warning
- Continuing to use existing KeyHandle objects for a deleted key results in undefined behavior.
- Exceptions
-
Error | The key could not be deleted. |
Definition at line 86 of file back-end.cpp.
ConstBufferPtr ndn::security::tpm::BackEnd::exportKey |
( |
const Name & |
keyName, |
|
|
const char * |
pw, |
|
|
size_t |
pwLen |
|
) |
| |
|
inherited |
Get the private key with name keyName
in encrypted PKCS #8 format.
- Parameters
-
keyName | The name of the key. |
pw | The password to encrypt the private key. |
pwLen | The length of the password. |
- Returns
- The encoded private key.
- Exceptions
-
Error | The key does not exist or cannot be exported. |
Definition at line 92 of file back-end.cpp.
unique_ptr< KeyHandle > ndn::security::tpm::BackEnd::getKeyHandle |
( |
const Name & |
keyName | ) |
const |
|
inherited |
Get the handle of the key with name keyName
.
Calling this function multiple times with the same keyName
will return different KeyHandle objects that all refer to the same key.
- Returns
- The handle of the key, or nullptr if the key does not exist.
Definition at line 45 of file back-end.cpp.
const std::string & ndn::security::tpm::BackEndMem::getScheme |
( |
| ) |
|
|
static |
bool ndn::security::tpm::BackEnd::hasKey |
( |
const Name & |
keyName | ) |
const |
|
inherited |
Check if the key with name keyName
exists in the TPM.
- Returns
- True if the key exists, false otherwise.
Definition at line 39 of file back-end.cpp.
void ndn::security::tpm::BackEnd::importKey |
( |
const Name & |
keyName, |
|
|
const uint8_t * |
pkcs8, |
|
|
size_t |
pkcs8Len, |
|
|
const char * |
pw, |
|
|
size_t |
pwLen |
|
) |
| |
|
inherited |
Import a private key in encrypted PKCS #8 format.
- Parameters
-
keyName | The name of the key to use in the TPM. |
pkcs8 | Pointer to the key in encrypted PKCS #8 format. |
pkcs8Len | The size of the key in encrypted PKCS #8 format. |
pw | The password to decrypt the private key. |
pwLen | The length of the password. |
- Exceptions
-
Error | The key could not be imported. |
Definition at line 101 of file back-end.cpp.
bool ndn::security::tpm::BackEnd::isTerminalMode |
( |
| ) |
const |
|
virtualinherited |
Check if the TPM is in terminal mode.
The default implementation always returns true.
- Returns
- True if in terminal mode, false otherwise.
Reimplemented in ndn::security::tpm::BackEndOsx.
Definition at line 142 of file back-end.cpp.
bool ndn::security::tpm::BackEnd::isTpmLocked |
( |
| ) |
const |
|
virtualinherited |
void ndn::security::tpm::BackEnd::setKeyName |
( |
KeyHandle & |
keyHandle, |
|
|
const Name & |
identity, |
|
|
const KeyParams & |
params |
|
) |
| |
|
staticprotectedinherited |
Set the key name in keyHandle
according to identity
and params
.
Definition at line 110 of file back-end.cpp.
void ndn::security::tpm::BackEnd::setTerminalMode |
( |
bool |
isTerminal | ) |
const |
|
virtualinherited |
Set the terminal mode of the TPM.
In terminal mode, the TPM will not ask for a password from the GUI. The default implementation does nothing.
Reimplemented in ndn::security::tpm::BackEndOsx.
Definition at line 148 of file back-end.cpp.
bool ndn::security::tpm::BackEnd::unlockTpm |
( |
const char * |
pw, |
|
|
size_t |
pwLen |
|
) |
| const |
|
virtualinherited |
Unlock the TPM.
The default implementation does nothing and returns !isTpmLocked()
.
- Parameters
-
pw | The password to unlock the TPM. |
pwLen | The length of the password. |
- Returns
- True if the TPM was unlocked.
Reimplemented in ndn::security::tpm::BackEndOsx.
Definition at line 159 of file back-end.cpp.