Class: Listo::PKey

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/listo/pkey.rb

Instance Method Summary collapse

Constructor Details

#initialize(pkey_file, pass_phrase = nil) ⇒ PKey

Returns a new instance of PKey.



5
6
7
8
9
10
# File 'lib/listo/pkey.rb', line 5

def initialize(pkey_file, pass_phrase = nil)
  @key_der = File.read(pkey_file)
  pem = pem(@key_der, pass_phrase)

  super(OpenSSL::PKey::RSA.new(pem, pass_phrase))
end

Instance Method Details

#base64Object



23
24
25
# File 'lib/listo/pkey.rb', line 23

def base64
  Base64.encode64(@key_der).delete("\n")
end

#pem(key_der, pass_phrase) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/listo/pkey.rb', line 12

def pem(key_der, pass_phrase)
  _key_der = []
  _key_der << "-----BEGIN ENCRYPTED PRIVATE KEY-----"
  _key_der += Base64.strict_encode64(key_der).scan(/.{1,64}/)
  _key_der << "-----END ENCRYPTED PRIVATE KEY-----"

  _key_der = _key_der.join("\n")

  OpenSSL::PKey::RSA.new(_key_der, pass_phrase)
end