class Evervault::Crypto::Key

Attributes

public_key[R]

Public Class Methods

new(public_key:) click to toggle source
# File lib/evervault/crypto/key.rb, line 7
def initialize(public_key:)
  @public_key = OpenSSL::PKey::RSA.new(format_key(public_key))
end

Private Instance Methods

format_key(key) click to toggle source
# File lib/evervault/crypto/key.rb, line 11
        def format_key(key)
  key_header = "-----BEGIN PUBLIC KEY-----\n"
  key_footer = "-----END PUBLIC KEY-----"
  return key if key.include?(key_header) && key.include?(key_footer)
  "#{key_header}#{key.scan(/.{0,64}/).join("\n")}#{key_footer}"
end