Ejemplo n.º 1
0
 /// <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);
     }
 }
Ejemplo n.º 2
0
        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);
        }