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

#include <tpm_gatekeeper.h>

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

Public Member Functions

 TpmGatekeeper (TpmResourceManager &resource_manager, secure_env::Storage &secure_storage, secure_env::Storage &insecure_storage)
 
bool GetAuthTokenKey (const uint8_t **auth_token_key, uint32_t *length) const override
 
void GetPasswordKey (const uint8_t **pasword_key, uint32_t *length) override
 
void ComputePasswordSignature (uint8_t *signature, uint32_t signature_length, const uint8_t *key, uint32_t key_length, const uint8_t *password, uint32_t password_length, gatekeeper::salt_t salt) const override
 
void GetRandom (void *random, uint32_t requested_size) const override
 
void ComputeSignature (uint8_t *signature, uint32_t signature_length, const uint8_t *key, uint32_t key_length, const uint8_t *message, uint32_t length) const override
 
uint64_t GetMillisecondsSinceBoot () const override
 
bool GetFailureRecord (uint32_t uid, gatekeeper::secure_id_t user_id, gatekeeper::failure_record_t *record, bool secure) override
 
bool ClearFailureRecord (uint32_t uid, gatekeeper::secure_id_t user_id, bool secure) override
 
bool WriteFailureRecord (uint32_t uid, gatekeeper::failure_record_t *record, bool secure) override
 
bool IsHardwareBacked () const override
 

Private Attributes

TpmResourceManagerresource_manager_
 
secure_env::Storagesecure_storage_
 
secure_env::Storageinsecure_storage_
 

Detailed Description

See method descriptions for this class in system/gatekeeper/include/gatekeeper/gatekeeper.h

Constructor & Destructor Documentation

◆ TpmGatekeeper()

cuttlefish::TpmGatekeeper::TpmGatekeeper ( TpmResourceManager resource_manager,
secure_env::Storage secure_storage,
secure_env::Storage insecure_storage 
)

Member Function Documentation

◆ ClearFailureRecord()

bool cuttlefish::TpmGatekeeper::ClearFailureRecord ( uint32_t  uid,
gatekeeper::secure_id_t  user_id,
bool  secure 
)
override

◆ ComputePasswordSignature()

void cuttlefish::TpmGatekeeper::ComputePasswordSignature ( uint8_t *  signature,
uint32_t  signature_length,
const uint8_t *  key,
uint32_t  key_length,
const uint8_t *  password,
uint32_t  password_length,
gatekeeper::salt_t  salt 
) const
override

◆ ComputeSignature()

void cuttlefish::TpmGatekeeper::ComputeSignature ( uint8_t *  signature,
uint32_t  signature_length,
const uint8_t *  key,
uint32_t  key_length,
const uint8_t *  message,
uint32_t  length 
) const
override

◆ GetAuthTokenKey()

bool cuttlefish::TpmGatekeeper::GetAuthTokenKey ( const uint8_t **  auth_token_key,
uint32_t *  length 
) const
override

◆ GetFailureRecord()

bool cuttlefish::TpmGatekeeper::GetFailureRecord ( uint32_t  uid,
gatekeeper::secure_id_t  user_id,
gatekeeper::failure_record_t *  record,
bool  secure 
)
override

Retrieves the failure record for user uid, assuming a user secret value of user_id. If the secret value user_id is incorrect, the original secret user_id value will be lost and cannot be recovered.

◆ GetMillisecondsSinceBoot()

uint64_t cuttlefish::TpmGatekeeper::GetMillisecondsSinceBoot ( ) const
override

◆ GetPasswordKey()

void cuttlefish::TpmGatekeeper::GetPasswordKey ( const uint8_t **  pasword_key,
uint32_t *  length 
)
override

◆ GetRandom()

void cuttlefish::TpmGatekeeper::GetRandom ( void *  random,
uint32_t  requested_size 
) const
override

◆ IsHardwareBacked()

bool cuttlefish::TpmGatekeeper::IsHardwareBacked ( ) const
override

◆ WriteFailureRecord()

bool cuttlefish::TpmGatekeeper::WriteFailureRecord ( uint32_t  uid,
gatekeeper::failure_record_t *  record,
bool  secure 
)
override

Member Data Documentation

◆ insecure_storage_

secure_env::Storage& cuttlefish::TpmGatekeeper::insecure_storage_
private

◆ resource_manager_

TpmResourceManager& cuttlefish::TpmGatekeeper::resource_manager_
private

◆ secure_storage_

secure_env::Storage& cuttlefish::TpmGatekeeper::secure_storage_
private

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