In file /home/eternity/Source/Eso/TCBWrapper/H/tcbWrapper.h:

class TCBWrapper : public Rollbackable, public Debugable, public SixOffspring

General Trusted Computing Base wrapper

Inheritance:

TCBWrapper < Rollbackable

TCBWrapper < Debugable

TCBWrapper < SixOffspring


Public Methods

TCBWrapper::TCBWrapper (Eso *anEso, LogFile *aLogFile)
TCBWrapper constructor
TCBWrapper::~TCBWrapper ()
TCBWrapper destructor

Public

methods
TCBWrapper (Eso *anEso, LogFile *aLogFile = NULL)
Costructor.
virtual ~TCBWrapper ()
Destructor.
virtual Err Rollback (const TID tid)
Ability to be rollbacked.
virtual Err SaveFile ( const ACID acid, const ID fid, const MsgField *ffid, const MsgField *keywords, const MsgField *data)
Stores file kept in "data" with ID "fid"
virtual Err DeleteFileByFileID (const ID fid)
Deletes a file.
virtual Err ComputeMAC (const ID fid, const MsgField *oAuth, MsgField **mac)
Computes MAC by finding a file and concatenating it with OAuth.
virtual Queue* GetFileHeadersByFAM ( const ACID acid, const MsgField *fam, const GMessage *clientPubKey)
Finds all files matching the File Atribute Mask, and returns
virtual MsgField* GetFileByFinderFID ( const ACID acid, const MsgField *ffid, const GMessage *clientPubKey)
Finds the file with "ffid", decrypts it, reencrypts it with "clientPubKey"
virtual MsgField* DecryptByACPriv (const ACID acid, const MsgField *data)
Finds aproprite private key and returns decrypted "data".
virtual Err GenerateACKeys (ACID *acid, GMessage **acPubKey, GMessage **tcbPubKey)
Generates and stores AC keys (both AC and TCB).
virtual Err GetACPubKeys ( const ACID, GMessage **acPubKey = NULL, GMessage **tcbPubKey = NULL)
Returns pub keys to ACID.
virtual Err RemoveACKeys (const ACID acid)
Removes AC keys (both AC and TCB).
virtual Err RefreshMasterKey ()
Generates new Master Key and does all reencryption needed (table of ring keys)
virtual Err RefreshRingKeys ()
Generates new Ring Keys and does all reencryption needed (table of files and Storage keys, table of certificates, table of transport keys)

Inherited from Rollbackable:

Public

methods

virtual Err Rollback(TID)
Raoll back and return to a consistent state

Inherited from Debugable:

Public Methods

string* Debugable::CreateString(char *firstStr, int firstInt, int secondInt)
Debugable::Debugable(LogFile * debugLogFile)
int Debugable::SetDebugOptions(int newLogOptions)
void Debugable::SetLogFile(LogFile *aLogFile)
void Debugable::WriteString(LogLevel debugLevel, char * format, ...)
Debugable::~Debugable()

Public

attributes

int debugOptions
What messages should be logged
LogFile* logFile
Log file for debug messages

Inherited from SixOffspring:

Public Methods

SixOffspring::SixOffspring(Six * aSix)

Documentation

General Trusted Computing Base wrapper. This is an abstract generally designed class that enables any realization of TCB (either software or hardware). To each such TCB it would be needed to create appropriate TCBWrapper that would do all that stuff defined in this class.
methods

TCBWrapper(Eso *anEso, LogFile *aLogFile = NULL)
Costructor.

virtual ~TCBWrapper()
Destructor.

virtual Err Rollback(const TID tid)
Ability to be rollbacked.

virtual Err SaveFile( const ACID acid, const ID fid, const MsgField *ffid, const MsgField *keywords, const MsgField *data)
Stores file kept in "data" with ID "fid". "ffid", "keywords", "data" encrypted with TCBPubKey.

virtual Err DeleteFileByFileID(const ID fid)
Deletes a file.

virtual Err ComputeMAC(const ID fid, const MsgField *oAuth, MsgField **mac)
Computes MAC by finding a file and concatenating it with OAuth.

virtual Queue* GetFileHeadersByFAM( const ACID acid, const MsgField *fam, const GMessage *clientPubKey)
Finds all files matching the File Atribute Mask, and returns. their headers that include FinderFileID, FileSize. FAM encrypted by TCB Public Key.

virtual MsgField* GetFileByFinderFID( const ACID acid, const MsgField *ffid, const GMessage *clientPubKey)
Finds the file with "ffid", decrypts it, reencrypts it with "clientPubKey". and returns it as a MsgField.

virtual MsgField* DecryptByACPriv(const ACID acid, const MsgField *data)
Finds aproprite private key and returns decrypted "data".

virtual Err GenerateACKeys(ACID *acid, GMessage **acPubKey, GMessage **tcbPubKey)
Generates and stores AC keys (both AC and TCB).

virtual Err GetACPubKeys( const ACID, GMessage **acPubKey = NULL, GMessage **tcbPubKey = NULL)
Returns pub keys to ACID.

virtual Err RemoveACKeys(const ACID acid)
Removes AC keys (both AC and TCB).

virtual Err RefreshMasterKey()
Generates new Master Key and does all reencryption needed (table of ring keys)

virtual Err RefreshRingKeys()
Generates new Ring Keys and does all reencryption needed (table of files and Storage keys, table of certificates, table of transport keys)

TCBWrapper::TCBWrapper(Eso *anEso, LogFile *aLogFile)
TCBWrapper constructor. Initializes all ancestors.
Parameters:
anEso - pointer to owner of this class
aLogFile - log file for debugging messages
Author:
Pavel
See Also:
SWTCBWrapper

TCBWrapper::~TCBWrapper()
TCBWrapper destructor. Does nothing special.
Author:
Pavel
See Also:
SWTCBWrapper


Direct child classes:
SWTCBWrapper
Author:
Pavel
See Also:
Eso

alphabetic index hierarchy of classes


generated by doc++