22 #ifndef NDN_CXX_SECURITY_TPM_BACK_END_HPP 23 #define NDN_CXX_SECURITY_TPM_BACK_END_HPP 109 importKey(
const Name& keyName, span<const uint8_t> pkcs8,
const char* pw,
size_t pwLen);
117 importKey(
const Name& keyName, shared_ptr<transform::PrivateKey> key);
159 unlockTpm(
const char* pw,
size_t pwLen)
const;
178 doHasKey(
const Name& keyName)
const = 0;
180 virtual unique_ptr<KeyHandle>
181 doGetKeyHandle(
const Name& keyName)
const = 0;
183 virtual unique_ptr<KeyHandle>
184 doCreateKey(
const Name& identity,
const KeyParams& params) = 0;
187 doDeleteKey(
const Name& keyName) = 0;
190 doExportKey(
const Name& keyName,
const char* pw,
size_t pwLen) = 0;
193 doImportKey(
const Name& keyName, span<const uint8_t> pkcs8,
const char* pw,
size_t pwLen) = 0;
196 doImportKey(
const Name& keyName, shared_ptr<transform::PrivateKey> key) = 0;
203 #endif // NDN_CXX_SECURITY_TPM_BACK_END_HPP Copyright (c) 2011-2015 Regents of the University of California.
unique_ptr< KeyHandle > createKey(const Name &identityName, const KeyParams ¶ms)
Create a key for identityName according to params.
virtual void setTerminalMode(bool isTerminal) const
Set the terminal mode of the TPM.
void deleteKey(const Name &keyName)
Delete the key with name keyName.
Abstraction of TPM key handle.
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.
Abstract interface for a TPM backend implementation.
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.
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.
ConstBufferPtr exportKey(const Name &keyName, const char *pw, size_t pwLen)
Get the private key with name keyName in encrypted PKCS #8 format.
virtual NDN_CXX_NODISCARD bool unlockTpm(const char *pw, size_t pwLen) const
Unlock the TPM.
#define NDN_CXX_NODISCARD
virtual bool isTerminalMode() const
Check if the TPM is in terminal mode.
Represents an absolute name.
bool hasKey(const Name &keyName) const
Check if the key with name keyName exists in the TPM.
unique_ptr< KeyHandle > getKeyHandle(const Name &keyName) const
Get the handle of the key with name keyName.
Base class for key parameters.
virtual bool isTpmLocked() const
Check if the TPM is locked.
shared_ptr< const Buffer > ConstBufferPtr