Sha256: 8e4483779e80e1e409d3d3dea49cbb4c31d5642b748e03cd98d6125ed4decac6

Contents?: true

Size: 606 Bytes

Versions: 8

Compression:

Stored size: 606 Bytes

Contents

module Encryption
  class Keypair

    def initialize(size = 2048, password = nil)
      @keypair = OpenSSL::PKey::RSA.new(size)
      @password = password
    end

    def public_key
      PublicKey.new(@keypair.public_key.to_s, @password)
    end

    def private_key
      PrivateKey.new(@keypair.to_s, @password)
    end

    def self.generate(size = 2048, password = nil)
      keypair = OpenSSL::PKey::RSA.new(size)

      public_key = PublicKey.new(keypair.public_key.to_s, password)
      private_key = PrivateKey.new(keypair.to_s, password)

      return public_key, private_key
    end

  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
encryption-1.1.8 lib/modules/asymmetric/keypair.rb
encryption-1.1.7 lib/modules/asymmetric/keypair.rb
encryption-1.1.6 lib/modules/asymmetric/keypair.rb
encryption-1.1.5 lib/modules/asymmetric/keypair.rb
encryption-1.1.4 lib/modules/asymmetric/keypair.rb
encryption-1.1.3 lib/modules/asymmetric/keypair.rb
encryption-1.1.2 lib/modules/asymmetric/keypair.rb
encryption-1.1.0 lib/modules/asymmetric/keypair.rb