Botan 3.6.0
Crypto and TLS for C&
Botan::TPM2::Signature_Operation_Base< PKOpT > Class Template Reference

#include <tpm2_pkops.h>

Inheritance diagram for Botan::TPM2::Signature_Operation_Base< PKOpT >:

Public Member Functions

std::string hash_function () const override
 
 Signature_Operation_Base (const Object &object, const SessionBundle &sessions, const SignatureAlgorithmSelection &algorithms, std::unique_ptr< Botan::HashFunction > hash)
 
void update (std::span< const uint8_t > msg) override
 

Protected Member Functions

Botan::HashFunctionhash ()
 
const Objectkey_handle () const
 
std::optional< std::string > padding () const
 
const TPMT_SIG_SCHEME & scheme () const
 
const SessionBundlesessions () const
 

Detailed Description

template<typename PKOpT>
class Botan::TPM2::Signature_Operation_Base< PKOpT >

Definition at line 26 of file tpm2_pkops.h.

Constructor & Destructor Documentation

◆ Signature_Operation_Base()

template<typename PKOpT >
Botan::TPM2::Signature_Operation_Base< PKOpT >::Signature_Operation_Base ( const Object & object,
const SessionBundle & sessions,
const SignatureAlgorithmSelection & algorithms,
std::unique_ptr< Botan::HashFunction > hash )
inline

Definition at line 28 of file tpm2_pkops.h.

31 :
32 m_key_handle(object),
33 m_sessions(sessions),
34 m_scheme(algorithms.signature_scheme),
35 m_hash(std::move(hash)),
36 m_padding(algorithms.padding) {
38 }
#define BOTAN_ASSERT_NONNULL(ptr)
Definition assert.h:86
Botan::HashFunction * hash()
Definition tpm2_pkops.h:46
const SessionBundle & sessions() const
Definition tpm2_pkops.h:50

References BOTAN_ASSERT_NONNULL.

Member Function Documentation

◆ hash()

template<typename PKOpT >
Botan::HashFunction * Botan::TPM2::Signature_Operation_Base< PKOpT >::hash ( )
inlineprotected

Definition at line 46 of file tpm2_pkops.h.

46{ return m_hash.get(); }

◆ hash_function()

template<typename PKOpT >
std::string Botan::TPM2::Signature_Operation_Base< PKOpT >::hash_function ( ) const
inlineoverride

Definition at line 43 of file tpm2_pkops.h.

43{ return m_hash->name(); }

◆ key_handle()

template<typename PKOpT >
const Object & Botan::TPM2::Signature_Operation_Base< PKOpT >::key_handle ( ) const
inlineprotected

Definition at line 48 of file tpm2_pkops.h.

48{ return m_key_handle; }

◆ padding()

template<typename PKOpT >
std::optional< std::string > Botan::TPM2::Signature_Operation_Base< PKOpT >::padding ( ) const
inlineprotected

Definition at line 54 of file tpm2_pkops.h.

54{ return m_padding; }

◆ scheme()

template<typename PKOpT >
const TPMT_SIG_SCHEME & Botan::TPM2::Signature_Operation_Base< PKOpT >::scheme ( ) const
inlineprotected

Definition at line 52 of file tpm2_pkops.h.

52{ return m_scheme; }

◆ sessions()

template<typename PKOpT >
const SessionBundle & Botan::TPM2::Signature_Operation_Base< PKOpT >::sessions ( ) const
inlineprotected

Definition at line 50 of file tpm2_pkops.h.

50{ return m_sessions; }

◆ update()

template<typename PKOpT >
void Botan::TPM2::Signature_Operation_Base< PKOpT >::update ( std::span< const uint8_t > msg)
inlineoverride

Definition at line 41 of file tpm2_pkops.h.

41{ m_hash->update(msg); }

The documentation for this class was generated from the following file: