class Listo::PKey

Public Class Methods

new(pkey_file, pass_phrase = nil) click to toggle source
Calls superclass method
# 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

Public Instance Methods

base64() click to toggle source
# File lib/listo/pkey.rb, line 23
def base64
  Base64.encode64(@key_der).delete("\n")
end
pem(key_der, pass_phrase) click to toggle source
# 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