Module: RecordOnChain::Commands::M_GetSecret

Included in:
Record, Secret
Defined in:
lib/record_on_chain/commands/mod_command.rb

Instance Method Summary collapse

Instance Method Details

#get_secret(cli, keyfile) ⇒ Object

recover secret from keyfile and user password



25
26
27
28
29
30
31
32
33
34
# File 'lib/record_on_chain/commands/mod_command.rb', line 25

def get_secret( cli , keyfile )
  answer  = ""
  cryptor = RecordOnChain::Crypto::DefaultCryptor.generate
  decrypt_func = ->( attempt ){ cryptor.decrypt( attempt,  keyfile.salt, keyfile.encrypted_secret ) }
  secret = cli.encrypt_with_password( decrypt_func )
  # too many inccorect
  raise "3 incorrect password attempts." if secret.nil?
  # if not nil, success to decrypt
  return secret
end