|
| | ~Tpm () |
| |
| ConstBufferPtr | decrypt (const uint8_t *buf, size_t size, const Name &keyName) const |
| | Decrypt blob using the key with name keyName. More...
|
| |
| ConstBufferPtr | decrypt (span< const uint8_t > buf, const Name &keyName) const |
| | Decrypt blob using the key with name keyName. More...
|
| |
| ConstBufferPtr | getPublicKey (const Name &keyName) const |
| |
| std::string | getTpmLocator () const |
| |
| bool | hasKey (const Name &keyName) const |
| | Check if a private key exists. More...
|
| |
| bool | isTerminalMode () const |
| | Check if the TPM is in terminal mode. More...
|
| |
| bool | isTpmLocked () const |
| |
| void | setTerminalMode (bool isTerminal) const |
| | Set the terminal mode of the TPM. More...
|
| |
| ConstBufferPtr | sign (const InputBuffers &bufs, const Name &keyName, DigestAlgorithm digestAlgorithm) const |
| | Sign discontiguous ranges using the key with name keyName and using the digest digestAlgorithm. More...
|
| |
| ConstBufferPtr | sign (const uint8_t *buf, size_t size, const Name &keyName, DigestAlgorithm digestAlgorithm) const |
| | Sign blob using the key with name keyName and using the digest digestAlgorithm. More...
|
| |
| bool | unlockTpm (const char *password, size_t passwordLength) const |
| | Unlock the TPM. More...
|
| |
| boost::logic::tribool | verify (const InputBuffers &bufs, span< const uint8_t > sig, const Name &keyName, DigestAlgorithm digestAlgorithm) const |
| | Verify discontiguous ranges using the key with name keyName and using the digest digestAlgorithm. More...
|
| |
| boost::logic::tribool | verify (const uint8_t *buf, size_t bufLen, const uint8_t *sig, size_t sigLen, const Name &keyName, DigestAlgorithm digestAlgorithm) const |
| | Verify blob using the key with name keyName and using the digest digestAlgorithm. More...
|
| |
TPM front-end class.
The TPM (Trusted Platform Module) stores the private portion of a user's cryptography keys. The format and location of stored information is indicated by the TpmLocator. The TPM is designed to work with a PIB (Public Information Base) which stores public keys and related information such as certificate.
The TPM also provides functionalities of crypto transformation, such as signing and decryption.
A TPM consists of a unified front-end interface and a back-end implementation. The front-end cache the handles of private keys which is provided by the back-end implementation.
- Note
- Tpm instance is created and managed only by KeyChain. KeyChain::getTpm() returns a const reference to the managed Tpm instance, through which it is possible to check the existence of private keys, get the public key corresponding to a private key, sign, and decrypt the supplied buffers using managed private keys.
Definition at line 65 of file tpm.hpp.