public SecretDecryptionContext(
            IKeyGenerator keyGenerator,
            ISecretStore secretStore,
            ISymmetricEncryptor secretEncryptor,
            ISecretValidator secretValidator,
            IServiceProvider serviceProvider,
            PassawordContext context,
            DecryptionEventArgs decryptEventArgs,
            DecryptionFailedEventArgs decryptFailedEventArgs,
            ILogger <SecretDecryptionContext> logger)
        {
            _secretStore            = secretStore;
            _secretEncryptor        = secretEncryptor;
            _secretValidator        = secretValidator;
            _serviceProvider        = serviceProvider;
            _context                = context;
            _decryptEventArgs       = decryptEventArgs;
            _decryptFailedEventArgs = decryptFailedEventArgs;
            _logger = logger;

            _decryptEventArgs.Context       = this;
            _decryptFailedEventArgs.Context = this;
            EncryptionKey  = keyGenerator.GetDefaultEncryptionKey();
            DecryptionKeys = keyGenerator.GetDecryptionKeys();
        }