Sha256: 21a156aa58680abe0be4c9d5ab673f5e9e88be813a2c5b3d09dd49f78d274fdc

Contents?: true

Size: 681 Bytes

Versions: 5

Compression:

Stored size: 681 Bytes

Contents

module Keyrack
  module Utils
    def self.generate_password
      result = "        "
      result.length.times do |i|
        result[i] = (33 + rand(94)).chr
      end
      result
    end

    def self.generate_rsa_key(password)
      rsa = OpenSSL::PKey::RSA.new(4096)
      cipher = OpenSSL::Cipher::Cipher.new('des3')
      [rsa, rsa.to_pem(cipher, password)]
    end

    def self.generate_aes_key
      SecureRandom.base64(128)[0..127]
    end

    def self.open_rsa_key(path, password)
      OpenSSL::PKey::RSA.new(File.read(path), password)
    end

    def self.open_aes_data(path, rsa_key)
      Marshal.load(rsa_key.private_decrypt(File.read(path)))
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
keyrack-0.3.0.pre lib/keyrack/utils.rb
keyrack-0.2.3 lib/keyrack/utils.rb
keyrack-0.2.2 lib/keyrack/utils.rb
keyrack-0.2.1 lib/keyrack/utils.rb
keyrack-0.2.0 lib/keyrack/utils.rb