/// <summary> /// /// </summary> /// <param name="id"></param> /// <param name="encryptedData"></param> /// <returns></returns> public string DecryptPassword(HoardID id, EncryptedData encryptedData) { try { byte[] decryptionKey = GenerateKey(ProvideEncryptionPhrase()); byte[] decrypted = Helper.AESDecrypt(decryptionKey, WhisperService.HexStringToByteArray(encryptedData.pswd), ProvideIV(), 256); return(Encoding.UTF8.GetString(decrypted)); } catch (Exception e) { throw new HoardException("Can't decrypt password for id " + id.ToString(), e); } }
public static VaspClient Create(VaspClientSettings settings) { var signService = new MessageSignService(settings.PrivateSigningKey); var messageFormatterService = new MessageFormatterService(signService, settings.VaspId); var whisperService = new WhisperService(new Web3(settings.WhisperRpc), settings.LoggerFactory); var outboundEnvelopeService = new OutboundEnvelopeService( whisperService, settings.EnvelopeExpirySeconds, settings.EnvelopeMaxRetries, settings.LoggerFactory); var vaspCodesService = new VaspCodesService(new Web3(settings.EthereumRpc), settings.IndexSmartContractAddress); var transportService = new TransportClient(settings.VaspId, settings.PrivateTransportKey, whisperService, vaspCodesService, outboundEnvelopeService, settings.LoggerFactory); var sessionsService = new SessionsService(messageFormatterService, vaspCodesService, transportService, settings.PrivateMessageKey, settings.LoggerFactory); var vaspClient = new VaspClient(sessionsService); return(vaspClient); }