Android-cuttlefish cvd tool
Public Member Functions | Private Attributes | List of all members
cuttlefish::TpmKeymasterEnforcement Class Reference

#include <tpm_keymaster_enforcement.h>

Inheritance diagram for cuttlefish::TpmKeymasterEnforcement:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::TpmKeymasterEnforcement:
Collaboration graph
[legend]

Public Member Functions

 TpmKeymasterEnforcement (TpmResourceManager &resource_manager, TpmGatekeeper &gatekeeper)
 
 ~TpmKeymasterEnforcement ()
 
bool activation_date_valid (uint64_t activation_date) const override
 
bool expiration_date_passed (uint64_t expiration_date) const override
 
bool auth_token_timed_out (const hw_auth_token_t &token, uint32_t timeout) const override
 
uint64_t get_current_time_ms () const override
 
keymaster_security_level_t SecurityLevel () const override
 
bool ValidateTokenSignature (const hw_auth_token_t &token) const override
 
keymaster_error_t GetHmacSharingParameters (keymaster::HmacSharingParameters *params) override
 
keymaster_error_t ComputeSharedHmac (const keymaster::HmacSharingParametersArray &params_array, keymaster::KeymasterBlob *sharingCheck) override
 
keymaster::VerifyAuthorizationResponse VerifyAuthorization (const keymaster::VerifyAuthorizationRequest &request) override
 
keymaster_error_t GenerateTimestampToken (keymaster::TimestampToken *token) override
 
keymaster::KmErrorOr< std::array< uint8_t, 32 > > ComputeHmac (const std::vector< uint8_t > &data_to_mac) const override
 
bool CreateKeyId (const keymaster_key_blob_t &key_blob, keymaster::km_id_t *keyid) const override
 

Private Attributes

TpmResourceManagerresource_manager_
 
TpmGatekeepergatekeeper_
 
bool have_saved_params_ = false
 
keymaster::HmacSharingParameters saved_params_
 

Detailed Description

Implementation of keymaster::KeymasterEnforcement that depends on having a TPM available. See the definitions in system/keymaster/include/keymaster/keymaster_enforcement.h

Constructor & Destructor Documentation

◆ TpmKeymasterEnforcement()

cuttlefish::TpmKeymasterEnforcement::TpmKeymasterEnforcement ( TpmResourceManager resource_manager,
TpmGatekeeper gatekeeper 
)

◆ ~TpmKeymasterEnforcement()

cuttlefish::TpmKeymasterEnforcement::~TpmKeymasterEnforcement ( )

Member Function Documentation

◆ activation_date_valid()

bool cuttlefish::TpmKeymasterEnforcement::activation_date_valid ( uint64_t  activation_date) const
override

◆ auth_token_timed_out()

bool cuttlefish::TpmKeymasterEnforcement::auth_token_timed_out ( const hw_auth_token_t &  token,
uint32_t  timeout 
) const
override

◆ ComputeHmac()

keymaster::KmErrorOr< std::array< uint8_t, 32 > > cuttlefish::TpmKeymasterEnforcement::ComputeHmac ( const std::vector< uint8_t > &  data_to_mac) const
override

◆ ComputeSharedHmac()

keymaster_error_t cuttlefish::TpmKeymasterEnforcement::ComputeSharedHmac ( const keymaster::HmacSharingParametersArray &  params_array,
keymaster::KeymasterBlob *  sharingCheck 
)
override

◆ CreateKeyId()

bool cuttlefish::TpmKeymasterEnforcement::CreateKeyId ( const keymaster_key_blob_t &  key_blob,
keymaster::km_id_t *  keyid 
) const
override

◆ expiration_date_passed()

bool cuttlefish::TpmKeymasterEnforcement::expiration_date_passed ( uint64_t  expiration_date) const
override

◆ GenerateTimestampToken()

keymaster_error_t cuttlefish::TpmKeymasterEnforcement::GenerateTimestampToken ( keymaster::TimestampToken *  token)
override

◆ get_current_time_ms()

uint64_t cuttlefish::TpmKeymasterEnforcement::get_current_time_ms ( ) const
override

◆ GetHmacSharingParameters()

keymaster_error_t cuttlefish::TpmKeymasterEnforcement::GetHmacSharingParameters ( keymaster::HmacSharingParameters *  params)
override

◆ SecurityLevel()

keymaster_security_level_t cuttlefish::TpmKeymasterEnforcement::SecurityLevel ( ) const
override

◆ ValidateTokenSignature()

bool cuttlefish::TpmKeymasterEnforcement::ValidateTokenSignature ( const hw_auth_token_t &  token) const
override

◆ VerifyAuthorization()

VerifyAuthorizationResponse cuttlefish::TpmKeymasterEnforcement::VerifyAuthorization ( const keymaster::VerifyAuthorizationRequest &  request)
override

Member Data Documentation

◆ gatekeeper_

TpmGatekeeper& cuttlefish::TpmKeymasterEnforcement::gatekeeper_
private

◆ have_saved_params_

bool cuttlefish::TpmKeymasterEnforcement::have_saved_params_ = false
private

◆ resource_manager_

TpmResourceManager& cuttlefish::TpmKeymasterEnforcement::resource_manager_
private

◆ saved_params_

keymaster::HmacSharingParameters cuttlefish::TpmKeymasterEnforcement::saved_params_
private

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