Class: Encryption::PKey

Inherits:
Object
  • Object
show all
Defined in:
lib/modules/asymmetric/pkey.rb

Direct Known Subclasses

PrivateKey, PublicKey

Instance Method Summary collapse

Constructor Details

#initialize(data, password = nil) ⇒ PKey



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/modules/asymmetric/pkey.rb', line 4

def initialize(data, password = nil)
  if File.exist?(data)
    data = File.read(data)
  end

  if password.nil?
    @key = OpenSSL::PKey::RSA.new(data)
  else
    @key = OpenSSL::PKey::RSA.new(data, password)
  end
end

Instance Method Details

#to_pem(password = nil) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/modules/asymmetric/pkey.rb', line 20

def to_pem(password = nil)
  if password.nil? or password.empty?
    return @key.to_pem
  end

  cipher = OpenSSL::Cipher::Cipher.new('des3')
  @key.to_pem(cipher, password)
end

#to_sObject



16
17
18
# File 'lib/modules/asymmetric/pkey.rb', line 16

def to_s
  @key.to_s
end