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); }
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)); }