Пример #1
0
        public void Initialize()
        {
            var config = new VaultConfig();

            _keyStoreConfig             = new KeyStoreConfig();
            _keyStoreIOSettingsProvider = new VaultKeyStoreIOSettingsProvider(config);

            ILogManager logger = LimboLogs.Instance;

            _serializer   = new EthereumJsonSerializer();
            _cryptoRandom = new CryptoRandom();
            _store        = new FileKeyStore(_keyStoreConfig, _serializer, new AesEncrypter(_keyStoreConfig, logger), _cryptoRandom, logger, _keyStoreIOSettingsProvider);
        }
Пример #2
0
 public FileKeyStore(
     IKeyStoreConfig keyStoreConfig,
     IJsonSerializer jsonSerializer,
     ISymmetricEncrypter symmetricEncrypter,
     ICryptoRandom cryptoRandom,
     ILogManager logManager,
     IKeyStoreIOSettingsProvider keyStoreIOSettingsProvider)
 {
     _logger             = logManager?.GetClassLogger() ?? throw new ArgumentNullException(nameof(logManager));
     _config             = keyStoreConfig ?? throw new ArgumentNullException(nameof(keyStoreConfig));
     _jsonSerializer     = jsonSerializer ?? throw new ArgumentNullException(nameof(jsonSerializer));
     _symmetricEncrypter = symmetricEncrypter ?? throw new ArgumentNullException(nameof(symmetricEncrypter));
     _cryptoRandom       = cryptoRandom ?? throw new ArgumentNullException(nameof(cryptoRandom));
     _keyStoreEncoding   = _config.KeyStoreEncoding.Equals("UTF-8", StringComparison.InvariantCultureIgnoreCase)
         ? new UTF8Encoding(false)
         : Encoding.GetEncoding(_config.KeyStoreEncoding);
     _privateKeyGenerator        = new PrivateKeyGenerator(_cryptoRandom);
     _keyStoreIOSettingsProvider = keyStoreIOSettingsProvider ?? throw new ArgumentNullException(nameof(keyStoreIOSettingsProvider));
 }