Sha256: 58548875d1d10cf740196c369a6a685e2b2ff66cd811087e44ae1af67c23005f

Contents?: true

Size: 830 Bytes

Versions: 1

Compression:

Stored size: 830 Bytes

Contents

# frozen_string_literal: true

require 'legion/crypt/version'
require 'legion/crypt/settings'
require 'rbnacl'
require 'base64'

require 'legion/crypt/box'
require 'legion/crypt/vault'

module Legion
  module Crypt
    class << self
      attr_reader :public_key, :sessions
      include Legion::Crypt::Box
      include Legion::Crypt::Vault if Legion::Settings[:crypt][:vault][:enabled]

      def start
        Legion::Logging.debug 'Legion::Crypt is running start'
        if Dir.exist?('./settings') && File.exist?('./settings/private.key') && File.exist?('./settings/public.key')
          load_keys
        else
          delete_keys if Dir.exist? './settings'
          create_keys
        end

        connect_vault
      end

      def shutdown
        shutdown_renewer
        close_sessions
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
legion-crypt-0.1.0 lib/legion/crypt.rb