Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | List of all members
CCryptoKeyStore Class Reference

Keystore which keeps the private keys encrypted. More...

#include <crypter.h>

Inheritance diagram for CCryptoKeyStore:
[legend]
Collaboration diagram for CCryptoKeyStore:
[legend]

Public Member Functions

 CCryptoKeyStore ()
 
bool IsCrypted () const
 
bool IsLocked () const
 
bool Lock ()
 
virtual bool AddCryptedKey (const CPubKey &vchPubKey, const std::vector< unsigned char > &vchCryptedSecret)
 
bool AddKeyPubKey (const CKey &key, const CPubKey &pubkey) override
 Add a key to the store. More...
 
bool HaveKey (const CKeyID &address) const override
 Check whether a key corresponding to a given address is present in the store. More...
 
bool GetKey (const CKeyID &address, CKey &keyOut) const override
 
bool GetPubKey (const CKeyID &address, CPubKey &vchPubKeyOut) const override
 
void GetKeys (std::set< CKeyID > &setAddress) const override
 
- Public Member Functions inherited from CBasicKeyStore
virtual bool AddCScript (const CScript &redeemScript) override
 Support for BIP 0013 : see https://github.com/fabcoin/bips/blob/master/bip-0013.mediawiki. More...
 
virtual bool HaveCScript (const CScriptID &hash) const override
 
virtual bool GetCScript (const CScriptID &hash, CScript &redeemScriptOut) const override
 
virtual bool AddWatchOnly (const CScript &dest) override
 Support for Watch-only addresses. More...
 
virtual bool RemoveWatchOnly (const CScript &dest) override
 
virtual bool HaveWatchOnly (const CScript &dest) const override
 
virtual bool HaveWatchOnly () const override
 
- Public Member Functions inherited from CKeyStore
virtual ~CKeyStore ()
 
virtual bool AddKey (const CKey &key)
 

Public Attributes

boost::signals2::signal< void(CCryptoKeyStore *wallet)> NotifyStatusChanged
 Wallet status (encrypted, locked) changed. More...
 

Protected Member Functions

bool SetCrypted ()
 
bool EncryptKeys (CKeyingMaterial &vMasterKeyIn)
 will encrypt previously unencrypted keys More...
 
bool Unlock (const CKeyingMaterial &vMasterKeyIn)
 

Private Attributes

CryptedKeyMap mapCryptedKeys
 
CKeyingMaterial vMasterKey
 
bool fUseCrypto
 if fUseCrypto is true, mapKeys must be empty if fUseCrypto is false, vMasterKey must be empty More...
 
bool fDecryptionThoroughlyChecked
 keeps track of whether Unlock has run a thorough check before More...
 

Additional Inherited Members

- Protected Attributes inherited from CBasicKeyStore
KeyMap mapKeys
 
WatchKeyMap mapWatchKeys
 
ScriptMap mapScripts
 
WatchOnlySet setWatchOnly
 
- Protected Attributes inherited from CKeyStore
CCriticalSection cs_KeyStore
 

Detailed Description

Keystore which keeps the private keys encrypted.

It derives from the basic key store, which is used if no encryption is active.

Definition at line 113 of file crypter.h.

Constructor & Destructor Documentation

CCryptoKeyStore::CCryptoKeyStore ( )
inline

Definition at line 136 of file crypter.h.

Member Function Documentation

bool CCryptoKeyStore::AddCryptedKey ( const CPubKey vchPubKey,
const std::vector< unsigned char > &  vchCryptedSecret 
)
virtual

Reimplemented in CWallet.

Definition at line 230 of file crypter.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool CCryptoKeyStore::AddKeyPubKey ( const CKey key,
const CPubKey pubkey 
)
overridevirtual

Add a key to the store.

Reimplemented from CBasicKeyStore.

Reimplemented in CWallet.

Definition at line 208 of file crypter.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool CCryptoKeyStore::EncryptKeys ( CKeyingMaterial vMasterKeyIn)
protected

will encrypt previously unencrypted keys

Definition at line 278 of file crypter.cpp.

Here is the call graph for this function:

bool CCryptoKeyStore::GetKey ( const CKeyID address,
CKey keyOut 
) const
overridevirtual

Reimplemented from CBasicKeyStore.

Definition at line 242 of file crypter.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void CCryptoKeyStore::GetKeys ( std::set< CKeyID > &  setAddress) const
inlineoverridevirtual

Reimplemented from CBasicKeyStore.

Definition at line 173 of file crypter.h.

Here is the call graph for this function:

bool CCryptoKeyStore::GetPubKey ( const CKeyID address,
CPubKey vchPubKeyOut 
) const
overridevirtual

Reimplemented from CBasicKeyStore.

Definition at line 260 of file crypter.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

bool CCryptoKeyStore::HaveKey ( const CKeyID address) const
inlineoverridevirtual

Check whether a key corresponding to a given address is present in the store.

Reimplemented from CBasicKeyStore.

Definition at line 161 of file crypter.h.

Here is the call graph for this function:

Here is the caller graph for this function:

bool CCryptoKeyStore::IsCrypted ( ) const
inline

Definition at line 140 of file crypter.h.

Here is the caller graph for this function:

bool CCryptoKeyStore::IsLocked ( ) const
inline

Definition at line 145 of file crypter.h.

Here is the caller graph for this function:

bool CCryptoKeyStore::Lock ( )

Definition at line 156 of file crypter.cpp.

Here is the caller graph for this function:

bool CCryptoKeyStore::SetCrypted ( )
protected

Definition at line 145 of file crypter.cpp.

bool CCryptoKeyStore::Unlock ( const CKeyingMaterial vMasterKeyIn)
protected

Definition at line 170 of file crypter.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

bool CCryptoKeyStore::fDecryptionThoroughlyChecked
private

keeps track of whether Unlock has run a thorough check before

Definition at line 125 of file crypter.h.

bool CCryptoKeyStore::fUseCrypto
private

if fUseCrypto is true, mapKeys must be empty if fUseCrypto is false, vMasterKey must be empty

Definition at line 122 of file crypter.h.

CryptedKeyMap CCryptoKeyStore::mapCryptedKeys
private

Definition at line 116 of file crypter.h.

boost::signals2::signal<void (CCryptoKeyStore* wallet)> CCryptoKeyStore::NotifyStatusChanged

Wallet status (encrypted, locked) changed.

Note: Called without locks held.

Definition at line 193 of file crypter.h.

CKeyingMaterial CCryptoKeyStore::vMasterKey
private

Definition at line 118 of file crypter.h.


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