class Secret::RSA

Public Class Methods

decrypt(msg) click to toggle source
# File lib/secret/rsa.rb, line 20
def self.decrypt(msg)
  rsa.decrypt msg
end
encrypt(msg) click to toggle source
# File lib/secret/rsa.rb, line 16
def self.encrypt(msg)
  rsa.encrypt msg
end
new() click to toggle source
# File lib/secret/rsa.rb, line 7
def initialize
  init_private_key
  init_public_key
end
rsa() click to toggle source
# File lib/secret/rsa.rb, line 12
def self.rsa
  @rsa ||= self.new
end
sign(msg) click to toggle source
# File lib/secret/rsa.rb, line 24
def self.sign(msg)
  rsa.sign msg
end
verify_sign(signed_msg, origin_msg) click to toggle source
# File lib/secret/rsa.rb, line 28
def self.verify_sign(signed_msg, origin_msg)
  rsa.verify_sign signed_msg, origin_msg
end

Public Instance Methods

decrypt(msg) click to toggle source
# File lib/secret/rsa.rb, line 36
def decrypt(msg)
  pri_k.private_decrypt decode_if_need(msg)
end
encrypt(msg) click to toggle source
# File lib/secret/rsa.rb, line 32
def encrypt(msg)
  encode_if_need pub_k.public_encrypt(msg)
end
sign(msg) click to toggle source
# File lib/secret/rsa.rb, line 40
def sign(msg)
  encode_if_need pri_k.sign(Secret.conf.hash_mode, msg)
end
verify_sign(signed_msg, origin_msg) click to toggle source
# File lib/secret/rsa.rb, line 44
def verify_sign(signed_msg, origin_msg)
  pub_k.verify Secret.conf.hash_mode, decode_if_need(signed_msg), origin_msg
end

Private Instance Methods

init_private_key(path = Secret.conf.rsa_pri_key_path, pwd = Secret.conf.rsa_pwd) click to toggle source
# File lib/secret/rsa.rb, line 50
def init_private_key(path = Secret.conf.rsa_pri_key_path, pwd = Secret.conf.rsa_pwd)
  raise 'Private pem path can not be nil !' if path.to_s == ''
  @private_key ||= OpenSSL::PKey::RSA.new(File.read(path), pwd)
end
init_public_key(path = Secret.conf.rsa_pub_key_path) click to toggle source
# File lib/secret/rsa.rb, line 55
def init_public_key(path = Secret.conf.rsa_pub_key_path)
  raise 'Public pem path can not be nil !' if path.to_s == ''
  @public_key ||= OpenSSL::PKey::RSA.new(File.read(path))
end
pri_k() click to toggle source
# File lib/secret/rsa.rb, line 60
def pri_k
  @private_key
end
pub_k() click to toggle source
# File lib/secret/rsa.rb, line 64
def pub_k
  @public_key
end